<Mondenkind>
zid: my client orders tab completion based on who talked recently
<heat>
yeehaw
<zid>
yea mine is shit and doesn't
<Mondenkind>
heat: :3
<zid>
but it still wouldn't help
<gog>
well god damn, you got me in love again
<zid>
because if I am using tab complete to see if gog is around, they didn't speak most recently
<gog>
banger
<heat>
i just want to be clear here
<heat>
i am *NOT* dua lipa
<Mondenkind>
dua liap
<Mondenkind>
hmmm can we kickban everyone whose nick starts with g
<gog>
dua lipa, international pop star and kernal programer
<adder>
Too late, heat, you're already on the radar of the Serbian intelligence.
<nikolapdp>
sounds like someone who is dua lipa but doesn't want others to know
<zid>
klange: it's an adjective though, not a noun
<Mondenkind>
zid: shit can be adjectived if it wants
<zid>
properties are sortof adjectives
<nikolapdp>
you already got two serbs on your tail heat, it's too late
<Mondenkind>
we are englishing, bitch
<zid>
english lets you do all sortsof things
<klange>
zid: but you don't say you're shitty at something in modern english, you say you're shit at it :)
<zid>
aalso can my space bar stop being so hetakuso
<zid>
klange: i'd say that's property vs description
<klange>
now hetakuso, that you can translate as shitty
<zid>
supershitty
<nikolapdp>
look at these language nerds
<zid>
enshittified
<klange>
kuso is literally shit
<zid>
/nick zako
<klange>
you can use it in most of the same places you'd throw shit around in english! talking about feces, as a random expletive, to describe things as being bad or of poor quality...
<zid>
I only remember the mean words
<klange>
but japanese also uses it for some things we wouldn't use 'shit' for in english, like as a generic intensifier
<nikolapdp>
that's how you start learning any language
<zid>
can I remember the difference between sleep and drink? nope. can I remember what 'shitty small-fry knight' is? absolutely
<klange>
so you can say it's kusoatsui (shit hot) to say it's very hot - something we'd use fucking for
<zid>
shit hot is already a phrase in english
<nikolapdp>
it's shitting hot
<zid>
it means 'very good'
* heat
gog2
<heat>
oops
<klange>
shit hot as in "it's fucking hot as fuck out i'm going to die"
heat is now known as gog2
<gog2>
gog: bazel
<nikolapdp>
if gog so good, why there no gog2
gog2 is now known as heat
<zid>
klange quick which one is sleep and which one is drink
<klange>
like when it was in the 40s in Tokyo all summer, it was _kusoatsui_
<klange>
zid: neru nomu
<zid>
boku no kusoatasui
<klange>
and nemui is eepy
<zid>
gerundy!
<zid>
klange nihongo jouzu
<heat>
i've played shogun 2 total war a few times
<heat>
i had a lot of beyblades when i was a kid too. oh, and pokemon cards
<zid>
I seemingly know what words mean as long as they contain 手
<nikolapdp>
oh beyblades
<nikolapdp>
haven't heard of that in a while
<heat>
let it rip nikolapdp
<nikolapdp>
indeed
<klange>
zid: sure as fuck hope so seeing as i've leaved here for a decade
<klange>
lived*
<klange>
my english however is very heta
<zid>
oh no, forgottedi english
<klange>
down down down it goes
<zid>
forgor
<klange>
i only know how to speak internet now
<nikolapdp>
klange what's your native language
<klange>
i don't sleep, i only eep
<zid>
nihongo jouzo ironically, means "shitty foreigner"
<klange>
nikolapdp: python
sbalmos has quit [Remote host closed the connection]
<heat>
you speak internet??
<zid>
not good at japanese
netbsduser` has quit [Ping timeout: 256 seconds]
<gog>
i've got the eepy
<heat>
klange: SYN
<nikolapdp>
klange i didn't mean programming language
<zid>
gog: do you need to use the eep?
<klange>
nikolapdp: i know you didn't
sbalmos has joined #osdev
<nikolapdp>
heat: ACK
<heat>
nikolapdp: RST
<klange>
heat: socket connection timeout
<nikolapdp>
ke
<nikolapdp>
kek
<heat>
nikolapdp do you not know tcp?
<heat>
how many network stacks have you written?
<klange>
i'm at three i think
<zid>
SYNACK
<klange>
the original toaru32 one, the second toaru32, and the misaka one that's slightly less shit but still pretty shitt
<zid>
klange: have you read honzuki?
<heat>
klange, you make me and my 1 network stack look amateurish :(
<heat>
git gud as the kids would say
<klange>
zid: No. I've heard of it, though.
<zid>
damnit, I need more honzuki friends
<nikolar>
heat I have written exactly 0 network stacks
<zid>
Does mine count, heat
<zid>
it networks, but it doesn't stack
<nikolar>
Kek
<klange>
unrelated to this discussion, but related to my claim that my native language is python...
<heat>
your e1000 driver doesn't even handle rx packets
<klange>
kuroko has ordered dicts by default now <3
<bslsk05>
github.com: boros/net.c at master · zid/boros · GitHub
<nikolar>
heat can confirm, it does respond
<heat>
oh wit, it does
<heat>
I RETRACT MY STATEMENT. I HAVE DEEP SHAME IN MYSELF. I HAVE FAILED MYSELF AND MY FAMILY
<klange>
lsat commit 2 years ago, much sads
<klange>
zid why are you not osdeving
<zid>
cus heat kept making promises he never kept
<heat>
>printf("Net: ipv6 packet, skipping.\n");
<nikolar>
Like what zid
<Mondenkind>
zid: FAKE kernal developer
<Mondenkind>
zid: poser
<heat>
i'm going to cancel you on twitter for being anti-ipv6
<klange>
jokes you what's twitter
<zid>
It's actually a lie
<zid>
it doesn't support ipv4 either
<zid>
:D
<nikolapdp>
lol
<klange>
jokes on* fuck i really am losing my english ability
<zid>
joke's
<zid>
joke is
<klange>
joke's eikwajgklewjaglkewa
<nikolapdp>
we're losing him
<klange>
this irc lost me a long time ago
<klange>
really I think I'm just spoiled by Discord where I can edit my mistkes before anyone reads them
<nikolapdp>
oh good you're still here
<zid>
should we move to #osdevjp
<zid>
ouesudebu
<nikolapdp>
is that a japanese osdev channel
<zid>
fat OS
<heat>
considering this channel's policy of never being on-topic, #osdevjp would be entirely written in arabic
<nikolapdp>
kek
<zid>
well it's best to keep you off topic heat
<zid>
if you go 'on topic' you just 'info dump' 40kB of internet linux kernel details
<zid>
using their internal terminilogy
<zid>
then act like anyone else is an idiot if they don't know what you're talking about
<zid>
are you *sure* you're not autistic?
<nikolapdp>
that last question probably applies to everyone here
<zid>
I am not sure no
<nikolapdp>
there we go
<klange>
If you want on-topic osdev discussion, go to the discord
<heat>
when do i info dump
<zid>
only if the topic you want is writing bootloaders
<klange>
if you want a bunch of old fogeys talking about the manga they're reading, you come here
<zid>
heat: I'll point it out next time for you
<heat>
thanks
<gog>
desu
<nikolapdp>
hello gog
<klange>
zid: that's why we added a channel specifically to sequester that stuff
<gog>
hi nikolapdp
<gog>
when
<zid>
klange: Can you translate p5v12 for me real fast, so that by the time p5v11 is released by j-novel club, I can just read both?
<zid>
I wonder if I am still banned from the discord
<nikolapdp>
why would you be banned
<heat>
you should talk to them about honzuki
<zid>
I joined, some guy was asking whether he should write a bootloader, and I said no
<nikolapdp>
that's the whole reason
<gog>
should i write a bootloader
<nikolapdp>
no
<zid>
then the discord admin guy who is apparently about 14, said he absolutely should, I said "that's poor practice imo, it just means you end up being a bootloader developer" and got banned
<nikolapdp>
lol
<gog>
i'm writing a bootloader anyway
<zid>
It's very fun
<nikolapdp>
well sounds like you dodged a bullet
<zid>
but it's not osdev
<zid>
It's bootloader dev, which is what I said
<nikolapdp>
it's tangentially related
<zid>
it's still embedded
<zid>
but it isn't osdev
<nikolapdp>
yeah
<gog>
i went to the discord and idk
<zid>
klange is too busy reading one piece chapter 1107 to translate honzuki for me smh
<gog>
i feel this incongruousness with tech spaces on discord
<gog>
i go to discord for memes and shitposting tbh
<zid>
irc skws older and more capable
<zid>
discord skews zoomer
<gog>
i also comehere for that tho
<gog>
so
<gog>
i'm older but less capable
<zid>
here is *millenial* memes
<gog>
i don't fit in anywhere
<zid>
so they're about suicide
<nikolapdp>
zid: heat and i are zoomers
* Mondenkind
zooms
<heat>
and Ermine
<nikolapdp>
oh yeah
<zid>
yea but you guys don't post memes, you do meme a lot though
<klange>
Which one? The primary admin has been mint for as long as I know, and mint is still there. Also mint would totally agree with telling people not to make bootloaders because you should use limine :)
<gog>
bold of you to assume i've ever been on a date and can relate to this
<heat>
LIMINE
<Mondenkind>
bitch you have a wife
<nikolapdp>
kek
<zid>
I've never even had a wife and she's downplaying
<mjg>
Mondenkind: was a mail order bride
<heat>
geist is not on the discord
<heat>
this means it sucks
<zid>
he had the same issue as me
<nikolapdp>
true taht
<heat>
mjg are you on the discord?
<zid>
like almost word for word
<mjg>
no
<heat>
can we dump 40KB of linux internal terminology in the osdev discord
<zid>
tried to give help, admin guy told him to shut up
<klange>
heat: if you want to help me increase my ban stats
<mjg>
i thought the conclusion was that osdev discord is not even pretending to do os?
<bslsk05>
github.com: managarm/kernel/thor/arch/x86/user-access.S at master · managarm/managarm · GitHub
<mjg>
:[
<heat>
stop it mjg or you're going to the discord as a screenshot again
<mjg>
what
<klange>
the joke with managarm is that it's so full of debug conditions and logs and checks that they call it assertos
<nikolapdp>
heh
<klange>
it runs dogshit slow because it spends all of its time blocked on serial output :)
<klange>
but it runs weston usably, an has modern gtk, all on an in-house libc, so it's really quite neat
<nikolapdp>
so much for async io lol
<heat>
anyway that's enough osdev discord for 2024
<heat>
i'll try again next year
<nikolapdp>
is this the year of the osdev discord??
<gog>
no
<nikolapdp>
good good
<gog>
i'm going to bed
gog has quit [Quit: byee]
<heat>
nikolapdp, lets start our own discord
<heat>
osdev discord 2 electric boogaloo
<nikolapdp>
yes so we can actually fit in with other zoomers
<heat>
i already fit it with other zoomers
<heat>
fit in
<nikolapdp>
with your 40k linux info dumos
<nikolapdp>
dumps
<heat>
i don't dump linux info on anyone that hasn't consented to it
<nikolapdp>
kek
<nikolapdp>
well come on, don't keep us waiting
<heat>
for what
<nikolapdp>
you haven't done an info dump today
netbsduser` has quit [Ping timeout: 252 seconds]
<heat>
you're pulling off the impossible, making me want to move to the osdev discord
<nikolapdp>
:(
xenos1984 has joined #osdev
SunClonus has joined #osdev
SunClonus has quit [Remote host closed the connection]
SunClonus has joined #osdev
netbsduser` has joined #osdev
heat has quit [Remote host closed the connection]
heat has joined #osdev
torresjrjr has quit [Ping timeout: 268 seconds]
torresjrjr has joined #osdev
netbsduser` has quit [Ping timeout: 256 seconds]
<MrBonkers>
I want to say we merged WebKitGTK before an IRC client in Managarm (we don’t do Qt browsers as chromium is a mess, tho at one point I did have chromium somewhat running) but that isn’t true (they are separated by about 2 months)
<MrBonkers>
Sad to hear that members of the IRC think what they think of the Discord. I at least strive to improve it when I can. And while running IRC on your own OS is a lot easier than running Discord, that doesn’t mean it’s less impressive. IRC is cool, there’s a reason Managarm has their discord channels bridged over after all
<MrBonkers>
In general, if you’ve been on the discord and you don’t like something about it, feel free to shoot me a message, both here and on discord (I’m the other owner). Or for questions about Managarm, I like those too (I port all the things)
zxrom has quit [Quit: Leaving]
<zid>
Can I ask you about an IRC improvement
<MrBonkers>
Asking is free. If I can answer is a second question. Fire away
<zid>
Can you use utf-8 or ascii instead of windows-1252?
<Mutabah>
Does the IRC protocol specify a characterset?
<zid>
charset is a social construct
<zid>
the japanese channels used to use shift-jis, those were the days
<Mutabah>
:)
<Mutabah>
I assume most clients assume utf-8 now
<Mondenkind>
💜
<zid>
Why is that purple
<Mutabah>
Why not purple
<zid>
Just seems odd, that there's a specifically purple one
<MrBonkers>
zid wait, am I using windows-1252? Is that what you’re saying? If so, I’ll check my settings tomorrow
<zid>
yes you are
<zid>
You're sending 0x92 for apostrophe, which is 1252 'magic quote'
<MrBonkers>
I see. I’ll take a look at the settings for my bouncer. Thanks for the heads up
<heat>
zid: behold: 🧡
<zid>
Can you skin tone modifier stack it
ramenu_ has joined #osdev
<zid>
Also that one comes out as grey for me, is it supposed to be orange?
<heat>
are there... generic color modifiers?
<heat>
yes, it's supposed to be orange. so the answer sounds like "yes"
<zid>
no but there are skin tones, which is why I'm surprised that each colour is its own code
<zid>
or that unicode has coloured glyphs at all
<zid>
both are pretty wtf
<heat>
why?
<nikolar>
Unicode is pretty wtf
<nikolar>
Emojis mostly
ramenu has quit [Ping timeout: 256 seconds]
<heat>
considering skin tones make perfect sense, why are colours a surprise?
<zid>
heat: Because it's for.. encoding glyphs?
<nikolar>
zid do you know how flags are encoded
<zid>
purple heart is not a different glyph to orange heart, it's the same glyph but a different colour, so that should be a modifier, like skin tone
<heat>
not only
<zid>
nikolapdp: 2 letter country code?
<nikolar>
Yes
<nikolar>
But special letters just for that lol
<zid>
special letters?
<heat>
zid, ... but it's a modifier?
<zid>
heat: oh it is? okay
<zid>
I just googled the glyph and got back UNICODE PURPLE HEART SYMBOL
<zid>
from 20 different blogspam websites
<heat>
you saw a grey heart, i posted an orange one. so i bet 200000000 euro dollar your irc client fucked up the rendering
<zid>
you'd think they'd have just done 0xsomething D E
<zid>
for german flag
<zid>
not 0xsomething D 0xsomething E
<nikolar>
I guess it makes sense since countries and flags aren't permanent
<zid>
and having 0xsomething D also be its own glyph
<geist>
Heh reading all the backlog on the sisxoed
<heat>
yugoslavia moment?
<geist>
Discord even
<nikolar>
If you don't have a flag for something you'll just get a two letter code
<zid>
sisxoed is the new name you got it right the first time geist
<geist>
Heh
<zid>
what do I do if I want the old hawaii flag
<nikolar>
heat yes that's one example, though I think that predates unicode country flags
<geist>
Yah wish I remember who it was I had troubke with on discord. May have been mint
<nikolar>
zid: you pray it's been added to Unicode
<geist>
I remember it being a short name
<zid>
maybe someone there can just grep for your name or osmething, idk, discord search is pretty shit
<zid>
and they might need you to still be there so they can do @<#34839493> in the search
<zid>
else they can't find you
<geist>
Shrug honestly I'm happy with the size of this community
<nikolar>
Why do I have two us flags on my emoji keyboard
<geist>
Even if it's bigger better right now I don't have the time and energy to focus on a larger osdev comm
<nikolar>
Yeah it's pretty good size as is I'd say
<zid>
It takes you about 4 months to get around to banning guys having psychotic episodes and throwing out racial abuse for 4 hours a day, any bigger'd be a challenge ;)
<zid>
The discord actually felt way too big, to me
<zid>
it had like 120 channels, one per arch etc
<zid>
I prefer much more freeform chat than that
<geist>
Right
<geist>
Too much mental load
<MrBonkers>
Geist, it was indeed mint. And I am to this day unhappy that it happened
<zid>
I assume mine was mint too, I think that's what people said
<geist>
Ah
<zid>
he bust out the "DOn'T YOU KNOW who I AM!?/1" on me at least
<zid>
I said no I don't give a fuck and he banned me :P
<MrBonkers>
Yikes
<nikolar>
Kek
<MrBonkers>
sure hope that wasn’t mint but I can’t rule it out. If you have a discord name for me to check I can find out who I need to be ashamed for
<geist>
Yah I saw some generally rank pulling and bullying and I noped out
<zid>
_zid
<zid>
idk maybe you'll say I had it coming
<zid>
I don't react well to people being aggreesively authoritative
<heat>
idk sounds like an honest answer to me
<heat>
"don't you know who i am" "no"
<zid>
ronnie pickering!
<geist>
Yah I do not like rank pulling
<MrBonkers>
God I hate discord mobile UI. Can’t find shit
<geist>
That is absolutely a big nope for me
<geist>
But it was like 2 years ago. Maybe I'll give it abother shot
<heat>
zid you should've asked to speak with their manager
<MrBonkers>
yeah being a mod or something does not make you better
<zid>
heat: ooh good idea
<geist>
Yah that's why we don't hold rank here and see really loathe to use it
<geist>
Yah no but in my case there was some of thay
<MrBonkers>
ive said it before, I’ll say it again, problems on the discord, feel free to shoot me a message. Even if it’s mint. The perk of having two owners is I can fix the broken shit even if it’s caused by the other owner
<MrBonkers>
:)
<zid>
Like, bouncers throwing out two people having an argument blindly without knowing who was wrong/right is one thing, throwing out the guy pooping on the dance floor is another
<geist>
Or at least that's how I read it
<geist>
Gotta go afk
<nikolar>
zid I have a solution for you Hawaiian flag problem
<zid>
oh yes, right
<zid>
my extremely severe hawaiian flag issue
<nikolar>
Since flags are technically ligatures, just find a font which has the flag you won't
<nikolar>
Problem solved
<zid>
that I've been desperately searching for a solution to
<MrBonkers>
zid it was mint and it’s about the -kernel argument to QEMU, not the best moment for the discord
<geist>
Yep that's what the issue was
<nikolar>
You're welcome zid
<zid>
nikolapdp: How can I ever repay you though?
<geist>
I got a ton of push back and then it got a little passive aggressive and I was like nope
<geist>
So I slipped out a few weeks later
<zid>
I lasted 17 minutes
<heat>
who the heck is mint and why are they so aggressive?
<heat>
is it linus torvalds?
<zid>
I'm good at this though
<nikolar>
At Linus knows his shit
<zid>
Professional at immediately finding the right guy to irritate then doing it
<geist>
Anyway no real point dragging this all up again
<nikolar>
zid: no need to repay me, I'm feeling generous
<zid>
It's fun
<geist>
Everyone makes mistakes
<zid>
his personality is a mistake, agreed
<geist>
I've been a douche here any number of times
<zid>
I don't think you should roast his parents like that though
<geist>
I try to get better though
<zid>
I have a deeply important question I ask of every discord server though, which is the best channel-thingy to proselytize honzuki
<MrBonkers>
Anyway, zid is currently still banned, but I can lift that if you wish
<zid>
no thanks
<zid>
badge of honour
<nikolar>
Heh fair enough
<zid>
I'd only go back to troll mint, at this point
<zid>
I'm incredibly petty
<MrBonkers>
sad to hear that but I’ll respect that choice. If you ever change your mind, I’ll be here lurking (unless Managarm or related projects are mentioned, then I’ll be active)
<geist>
Hah we know the summoning word
<zid>
let's test it: mangarm has a funny name and its goals go against everything I stand for as both a software user and a developer
<MrBonkers>
I do get pinged for Managarm (among other things) yes :)
<heat>
do you get pinged for mlibc too
<MrBonkers>
Sure do
<heat>
MLIBC MLIBC MLIBC MLIBC
<zid>
where even is the stress in managarm
<geist>
Now let's not trash any other system
<zid>
it's such a foreign looking word that I can't even begin to guess
<nikolar>
Really
<zid>
really really
<nikolar>
Looks perfectly English to me
<zid>
wat
<MrBonkers>
I believe it holds roots in Norse mythology
<nikolar>
Like telegram
<zid>
it's garm not gram
<heat>
we should all join arms and, in unison, shit on solaris
<nikolar>
Oh I'm blind
<nikolar>
You're right zid
<zid>
mana+garm.. magic wolf?
<MrBonkers>
a common misspelling is managram tho so your not alone there
<nikolar>
heat: make up your mind, do you love Solaris or hate it
<heat>
yes
<zid>
'garm' being a wolf in a single final fantasy game
<bslsk05>
<foone> bad idea:  I'm gonna get some other devops and we're gonna play a longform factorio multiplayer game together.  we're going to have a jira, proper change management, daily standups, multipart epics to track our long-term deliverables, and set up pagerduty so that we can be alerted when there's a biter attack that needs immediate attention.
<bslsk05>
<torvalds> I’m clearly a master of SEO.  When I google for “cold dark place filled with sadness and despair” right now (with the quotes), google gives me exactly one result - my Linux kernel github repository.  I will call my new hobby “Reverse Emo Googlewhacking”.  You’re welcome.
<nikolar>
Great idea, any other DevOps around?
<zid>
oh I thouht it was DeVops *runs*
<nikolar>
Lol
<heat>
VOPS? time for a patented 40KB BSD VFS dump
<heat>
wait, thats not how it goes... move along
<zid>
virtual operations per solaris
<zid>
solaris isn't quite up to doing a REAL operation yet
<heat>
actually it wasn't even a BSD idea, but sunos
<heat>
bill joy was like "What if instead of calling ufs_read, we had a function pointer"
<heat>
truly genius stuff.
<nikolar>
¯\_(ツ)_/¯
<heat>
you know, doing unix kernel development in the 70s and 80s must've been so easy
<heat>
"what if we used malloc in the kernel?" *minds blown*
<nikolar>
And you just write a paper about it
<nikolar>
Repeat a few more times and you could go for a PhD
<zid>
Can you get an anti-phd
<zid>
"What if we used argument packets and streams based networking?"
<zid>
"What if we kissed a girl?"
<nikolar>
Lol
<heat>
"UNIX is a junk OS designed by a committee of PHDs" - linus torvalds
<zid>
exactly like C++
<heat>
"C++ is a junk OS designed by a committee of PHDs" - bjarne stringsoup
<heat>
bjarne strstoup
<heat>
strstrup
<zid>
strsoup
<nikolar>
strstr
<zid>
it's like strfry but wetter
<heat>
bjarne str
<nikolar>
I'll blow your minds now
<zid>
serbia is a real country?
<nikolar>
What are his initials: bs
<zid>
oh, mind was way more mind blowing
<nikolar>
zid that too
<nikolar>
You can't blow your own mind
<zid>
You can if you forget everything you type as soon as you type it
netbsduser` has quit [Ping timeout: 268 seconds]
<nikolar>
Is that a known condition or something
<heat>
yeah, dementia
<geist>
heat: yah re msi on nvme I think we have a local patch on fuchsia qemu for that
<geist>
Or did for a while
<zid>
nikolar has nominal aphasia :(
<nikolar>
:(
<nikolar>
Forgor
<heat>
geist, is msi-x hard to support? or did/do you just not have it?
<zid>
could just be for test coverage
<heat>
cuz plain msi is pretty easy and dumb
ramenu__ has quit [Ping timeout: 268 seconds]
netbsduser` has joined #osdev
\Test_User has quit [Quit: \Test_User]
\Test_User has joined #osdev
netbsduser` has quit [Ping timeout: 260 seconds]
heat has quit [Ping timeout: 240 seconds]
<adder>
I'm not sure I understand what's RCU.
<adder>
So... There will be a data structure, and a bunch of readers. Readers will be reading it, and when a writer comes, it makes a copy of the data structure, writes to it, ... and at this point we have two copies, the old one, and the updated one. Then the writer "publishes" its copy, and the pointer to the data structure is atomically updated to point to the updated copy. Then, we wait time T (grace period) for all readers to finish their reads, and discard the
<adder>
old copy?
Yoofie has quit [Ping timeout: 240 seconds]
sbalmos has quit [Ping timeout: 272 seconds]
sbalmos has joined #osdev
vdamewood has joined #osdev
netbsduser` has joined #osdev
cultpony has quit [Remote host closed the connection]
cultpony has joined #osdev
gbowne1 has quit [Quit: Leaving]
dormito has quit [Ping timeout: 256 seconds]
dormito has joined #osdev
netbsduser` has quit [Ping timeout: 255 seconds]
Yoofie has joined #osdev
GreaseMonkey has quit [Remote host closed the connection]
lentement has joined #osdev
sbalmos has quit [Quit: WeeChat 4.2.1]
lentement has quit [Ping timeout: 272 seconds]
elastic_dog has quit [Ping timeout: 246 seconds]
elastic_dog has joined #osdev
<geist>
heat: msi-x is a lot harder
<geist>
but i think they're not here
<zid>
Heat is mean like that, I constantly want to ping him and he's left us
<zid>
(Usually because I find a meme related to what he was talking about 8 hours ago)
<Mutabah>
According to the weather forecast, heat will be back on Sunday
<Mutabah>
(F me, it's forecast to be 43)
<zid>
wtf, where
<zid>
It's still winter
<zid>
australia?
<Mondenkind>
43??!!
<Mondenkind>
i would die
goliath has joined #osdev
klange has quit [Ping timeout: 260 seconds]
<FireFly>
same
<FireFly>
I experienced greater-than-body-core-temp ambient temperatures outside once, it was bizarre
<FireFly>
we have saunas for that
klange has joined #osdev
<geist>
yeah i grew up where it'd get up in the 40s from time to time and i can tell you it really sucks
<zid>
Why all y'all living on the surface of the sun
lentement has joined #osdev
kof123 has quit [Ping timeout: 252 seconds]
lentement has quit [Ping timeout: 268 seconds]
<Mutabah>
zid: Perth, Western Australi - we're having a warmer-than-average Feb
<zid>
Is it 9.7C today, in the correct hemisphere
<vdamewood>
Mutabah: 45 degrees?
<vdamewood>
... Now I have an 80s song stuck in my head.
<Mutabah>
vdamewood: 43C on Sunday - that's on the really high end of our temperatures
<zid>
how hot is it on the days everything is on fire
<vdamewood>
Mutabah: I wasn't that far off, and I was just making a song referernce.
<Mutabah>
vdamewood: :) I missed the song ref, bit before my time
<bslsk05>
'Men At Work - Down Under (Official HD Video)' by MenAtWorkVEVO (00:03:41)
<zid>
That's cheating though, it's the national anthem
<vdamewood>
I mean, the station's airtime was probably at least 80% mainstream stuff, but that 20% has some not-so-common stuff.
pretty_dumm_guy has joined #osdev
gog has joined #osdev
<zid>
gorg
<gog>
zid
divine has quit [Ping timeout: 256 seconds]
nur has quit [Remote host closed the connection]
grange_c02 has joined #osdev
xvmt has quit [Remote host closed the connection]
xvmt has joined #osdev
GeDaMo has joined #osdev
bauen1 has quit [Ping timeout: 264 seconds]
ramenu__ has joined #osdev
divine has joined #osdev
Gurkenglas has joined #osdev
Gurkenglas has quit [Client Quit]
heat has joined #osdev
ramenu__ has quit [Ping timeout: 252 seconds]
zxrom has joined #osdev
lentement has joined #osdev
lentement has quit [Ping timeout: 264 seconds]
netbsduser` has joined #osdev
bauen1 has joined #osdev
<netbsduser`>
adder: RCU is consistently poorly explained by Linux people, probably because they are inexperienced at technical writing
<netbsduser`>
it is really 2 things
<netbsduser`>
one is a mechanism by which you can defer carrying out some operation until after every processor has been through a quiescent state; the other are various patterns of data structure manipulation like you describe
<zid>
"poorly explained" "quiescent state" :P
<netbsduser`>
the 2nd would also be quite doable in languages like Java which have tracing garbage collectors
<zid>
(accurate, but funny)
<netbsduser`>
zid: quite, i think of it as being analogous to softint dispatch
<zid>
you think it being funny is analogous to softint?
<zid>
not sure we're following each other
<netbsduser`>
on a uniprocessor in my kernel i can do a lot of what i'd otherwise need RCU for by just raising the IPL to softint level, as that inhibits preemption
ramenu__ has joined #osdev
elderK has joined #osdev
<netbsduser`>
so i see the use of the rcu call mechanism as being analogous to enqueueing a softint, except now it requires that in a multiprocessor system every cpu must have went to an IPL < softint at least once since the rcu call was made
elderK has quit [Client Quit]
heat has quit [Ping timeout: 246 seconds]
heat has joined #osdev
SGautam has joined #osdev
navi has joined #osdev
heat_ has joined #osdev
heat has quit [Read error: Connection reset by peer]
<bslsk05>
lwn.net: What is RCU? Part 2: Usage [LWN.net]
<gog>
Rarvel Cinematic Universe
<heat_>
the fact that it's named "RCU" (read-copy-update) is a historical artifact that predates its existence in linux
<nikolapdp>
hello
nikolapdp has quit [Remote host closed the connection]
<heat_>
the OG idea behind RCU (as far as I know) was to literally read, then make copy, change your copy, then update the pointer and reclaim the old one
<heat_>
but it quickly moved from that to RCU just being more or less a guarantee of pointer validity and existence
<heat_>
you basically know all rcu pointers are valid under rcu, and that lets you do things more locklessly. if you can't tolerate stale data, you can always have mechanisms to check if the data is stale (say, increase the refcount IFF not 0)
nikolapdp has joined #osdev
<heat_>
this base guarantee lets you do everything else, including the read, then copy, then update idea they first had
<nikolapdp>
do you do rca heat_
<nikolapdp>
in onyx
<nikolapdp>
*rcu
<netbsduser`>
"a substitute for not having a tracing garbage collector", i think, is a fair description
<netbsduser`>
everything else is just patterns of use of that facility
<heat_>
nikolapdp, yes
<heat_>
IMO calling it a garbage collector (or a replacement for one) is language abuse
gildasio has quit [Ping timeout: 255 seconds]
<nikolapdp>
heat_ since you're writing a shitty linux, do you have something like epoll or io_uring
<netbsduser`>
i think more precise is my way of seeing it as a multiprocessor analogue to deferring certain work to be done in softints and then the so-called read_lock() is really to be seen as more like splsoftint()
gildasio has joined #osdev
<heat_>
nikolapdp, i don't have epoll yet, i don't plan on having io_uring (not within my lifetime at least)
<nikolapdp>
yeah that's fair
<heat_>
io_uring is incredibly complex and i have... the rest of the OS to write
<heat_>
io_uring has been responsible for a disproportionate number of linux vulnerabilities of the past few years, such that google has it disabled
<bslsk05>
zaalang/zaos - x64 hobby os (1 forks/8 stargazers/BSD-2-Clause)
ZipCPU has joined #osdev
<netbsduser`>
though managarm is conceptually similar (and cooler in respect of being profoundly asynchronous so there is no need for a kernel side threadpool)
<nikolapdp>
what language is that
<nikolapdp>
.zaa
<qookie>
apparently a custom language
<nikolapdp>
interesting
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
Gurkenglas has quit [Ping timeout: 250 seconds]
Gurkenglas has joined #osdev
Lia has quit [Quit: Leaving]
lentement has joined #osdev
lentement has quit [Ping timeout: 240 seconds]
ramenu_ has joined #osdev
ramenu__ has quit [Ping timeout: 268 seconds]
netbsduser` has quit [Ping timeout: 252 seconds]
netbsduser` has joined #osdev
Cindy is now known as ieel
ieel is now known as Cindy
SGautam has quit [Quit: Connection closed for inactivity]
SunClonus has joined #osdev
lentement has joined #osdev
gog has quit [Quit: Konversation terminated!]
lentement has quit [Ping timeout: 264 seconds]
xenos1984 has quit [Ping timeout: 260 seconds]
xenos1984 has joined #osdev
Arthuria has joined #osdev
gog has joined #osdev
Left_Turn has joined #osdev
bauen1 has quit [Ping timeout: 268 seconds]
Arthuria has quit [Killed (NickServ (GHOST command used by Guest684531))]
Arthuria has joined #osdev
<heat_>
gog, i am PROFOUDLY asynchronous
<nikolar>
await heat_
<heat_>
oh look at you with your language-level async support
<heat_>
we use .then() around here mister
<nikolar>
then sucks embrace await
<nortti>
heat_((result) => {
<gog>
reject()
Arthuria has quit [Ping timeout: 260 seconds]
<Ermine>
.then()
Arthuria has joined #osdev
<heat_>
.then((result) => cry(result))
Arthuria has quit [Killed (NickServ (GHOST command used by Guest684531))]
Arthuria has joined #osdev
<Ermine>
RESULT!!!!!!!!!
<heat_>
Ermine are you okay?
<Ermine>
i cried result what's wrong
deckard has quit [Quit: l8r]
deckard has joined #osdev
<heat_>
the boy who cried result
<heat_>
gog, hey you're a webdev can you set up a osdev mastodon instance, thanks, heat
<gog>
no
xenos1984 has quit [Ping timeout: 256 seconds]
<Ermine>
whats about GNU Social gog
<nikolar>
what would you post on mastodon anyway heat_
<Ermine>
all onyx commits
bubuche87 has joined #osdev
<bubuche87>
Hi
<nikolar>
Hello bubuche87
Gurkenglas has quit [Quit: Client closed]
xenos1984 has joined #osdev
gog has quit [Ping timeout: 255 seconds]
valshaped7424880 has quit [Quit: Gone]
bubuche87 has quit [Ping timeout: 250 seconds]
GeDaMo has quit [Ping timeout: 272 seconds]
GeDaMo has joined #osdev
GeDaMo has quit [Ping timeout: 256 seconds]
Matt|home has joined #osdev
GeDaMo has joined #osdev
GreaseMonkey has joined #osdev
bubuche87 has joined #osdev
bubuche87 has quit [Client Quit]
gog has joined #osdev
valshaped7424880 has joined #osdev
GeDaMo has quit [Ping timeout: 240 seconds]
valshaped7424880 has quit [Quit: Gone]
<heat_>
nikolar, shitpost
<childlikempress>
can't you do that on irc already
<childlikempress>
why would you need to do it on hipster twitter too
<heat_>
twitter is a more natural shitposting platform
<childlikempress>
if it's natural to shitpost then it's less shitty, isn't it?
<nikolar>
Reverse psychology
netbsduser` has quit [Ping timeout: 268 seconds]
<zid>
heat_: terrible meme
<heat_>
what meme
<zid>
heat_: *shitty pun*
<heat_>
what
<adder>
Hello, kernal progremers.
<heat_>
hi
<childlikempress>
no
<Ermine>
henlo
<heat_>
btw why were you asking RCU questions
<adder>
heat_: I read about it in the book, and it was unclear.
<heat_>
it's a very advanced technique you don't need to use to write a kernel
<heat_>
going "whats a kernel" -> interrupts -> RCU is a very weird progression
<zid>
He's here to avoid useful advice, and ask questions about books he's barely understanding
<adder>
A part of the chapter was about locks/mutexes/futexes/semaphores/etc and in contrast they talked about how to avoid locks.
Arthuria has quit [Ping timeout: 268 seconds]
<zid>
That does indeed sound like somewhere you might see an RCU
<zid>
but if you had read the book, why do you still not know what one is (although, the description you gave was pretty good, so it seemed you did)
<zid>
and you definitely knew what it was used for, avoiding locks
<heat_>
you just need workable locking to start off
<zid>
were you just feeling lonely?
<heat_>
even a global mutex works Just Fine for most purposes
<heat_>
(don't say this around mr pessimal)
<zid>
You need to be Very Multicore for shit like this to help
<childlikempress>
zid: 'I think such-and-so works like this, but am not 100% confident; can someone confirm my understanding?' is legit
<heat_>
also RCU is an advanced, confusing concept that is used in 0 places besides the linux kernel (and now freebsd)
<adder>
Yeah, it wasn't phrased the way I phrased it here in the book, so I was merely looking for confirmation whether my understanding is correct.
<zid>
yea but the question was *why*
<adder>
Why what?
<zid>
My vote was that you were just lonely
<childlikempress>
heat_: related techniques are also used in some concurrent userspace stuff
<zid>
childlikempress: he hasn't written a hello world yet, don't pretend that's relevent
<heat_>
you mean hazard pointers?
<childlikempress>
hazard pointers, epoch based reclamation, quiescent state based reclamation
<childlikempress>
I think rcu is closest to the last one
<heat_>
i know some programs use liburcu, but those are very few and far between
<heat_>
"rcu" in the linux sense is QSBR
netbsduser` has joined #osdev
<heat_>
as for EBR (which is technically also rcu, in the academic sense), there's concurrencykit's implementation, and folly's implementation (so i think facebook uses it internally)
<heat_>
also RCU is projected to be in C++26, so maybe in the future you'll see lots of RCU uses
<nikolar>
Trippy to think about c++26
<nikolar>
Time flies
<childlikempress>
weren't they trying to get both ebr and hazard pointers into c++
<heat_>
yes
<heat_>
fwiw the C++26 RCU is not strictly EBR, but it's the most plausible implementation (and it's the way it's done in folly too)
<childlikempress>
how's it different?
<heat_>
i don't mean it's "different", it just doesn't expose EBR, you could in theory implement it using QSBR
<Griwes>
can I haz ptr
<heat_>
oh hai
<kazinsal>
nu, iz mah ptr
<childlikempress>
oh i see just a higher-level interface
<childlikempress>
hi Griwes
<heat_>
Griwes, was rcu accepted into C++26 yet?
<heat_>
cppreference has <rcu> (C++26) but i can't find more authoritative evidence
<Griwes>
ah, bamboozled myself by removing the revision from the internal wiki search
gbowne1 has joined #osdev
<Griwes>
accepted back in jun '23
<heat_>
kool!
<heat_>
fwiw i don't know how to feel about its inclusion into the C++ standard library, it seems like a super specific thing that'll want a lot of performance tuning
<childlikempress>
yeah
<zid>
It definitely seems like a solution in search of a problem
<childlikempress>
no?
<heat_>
last i checked, even stuff like C++ std::mutex usually shells out to, say, pthread_mutex_t (at least in libc++ and libstdc++)
<Griwes>
heat_, I'd need to dig through some of the papers, but I *think* the idea is to get a set of vocabulary types for it?
<zid>
"We have a big program that is absolutely desperate for an RCU, can't wait until 2030 when C++ gets a native slow one"
<Griwes>
I mean, std::mutex is literally a part of the OS abstraction layer
<Griwes>
so in environments with an OS-provided mutex type, not using that OS-provided mutex type for std::mutex would be ridiculous
<heat_>
but pthread_mutex_t is slow and bad, so all std::mutexes are slow and bad (and thus you use, idk, absl::Mutex)
<childlikempress>
some kernels have special interactions between locks and the scheduler you definitely want to take advantage of
<heat_>
Griwes, also wdym "vocabulary types"?
<Griwes>
heat_, common spellings for the same idea that allow unrelated pieces of code to have a common understanding of what they mean
<heat_>
what does that mean, in practice?
<Griwes>
it's what appears in interfaces
<heat_>
sorry, i'm not sure i'm following you :/
<zid>
I have no fucking clue either
<netbsduser`>
what is a "vocabulary type"
<zid>
typedef nou
<zid>
noun
<childlikempress>
would that be a z-zero c...
<Griwes>
idk how else to get at it vOv
<heat_>
like, uh, AFAIK the papers describe a full blown (somewhat C++-ify'd) RCU implementation, with RCU domains and everything. and all C++ standard library impls will need to provide their own full-blown RCU implementation
<heat_>
and given that standard library implementations don't even implement their own locks, it seems like new ground to me
<zid>
I'm sure the people blindly using it and making their shit ultimately slower will be thrilled
<zid>
and the two users who want an RCU will continue using the one they wrote
<Griwes>
yes, and all C++ programs will be able to use it, so multiple pieces of code will be able to trade in objects related to it without needing additional dependencies
<Griwes>
s/multiple/multiple unrelated/
<Griwes>
heat_, it's perfectly imaginable that they'll all just employ a single implementation of the tricky bits (well, maybe minus libstdc++, which at this point is the most license-restrictive one)
<netbsduser`>
they made an oversight in that proposed C++ RCU
<netbsduser`>
namely i saw no way to signal quiescent states
<heat_>
Griwes, does libc++ share anything with msvc?
<Griwes>
unsure at this time, but I know that the stlstl uses the libc++ test harness - but again, it seems perfectly plausible to me that they'll coordinate
<heat_>
well, lets hope so :)
<childlikempress>
isn't the msvc stl open source now?
<heat_>
even integrating folly's impl would be ok in my book, but for e.g std::format and std::print no one used fmtlib
<Griwes>
format isn't particularly tricky, and fmt has a bunch of extensions that'd probably be more hassle to rip out than just implementing the thing
<Griwes>
childlikempress, yes
<Griwes>
the kicker is
lentement has joined #osdev
<Griwes>
it is under the exact same license as libc++
<Griwes>
down to the LLVM exception in apache2
<Griwes>
so you can literally trade code between them without any licensing concerns
<heat_>
netbsduser`, having manual quiescent states sounds hard to define/standardize to me
<heat_>
because then you *need* to rcu_quiescent_state() once in a while, even if the implementation is not QSBR
<netbsduser`>
in full fairness to them QSBR is not very popular
<heat_>
it sounds more plausible to maybe just use timers for that, while emulating preemption counters
<netbsduser`>
every "RCU" i have seen outwith linux, heat kernel, and my own, is EBR
<heat_>
liburcu has QSBR, dpdk IIRC also has a QSBR
lentement has quit [Ping timeout: 255 seconds]
flom84 has joined #osdev
bauen1 has joined #osdev
Arthuria has joined #osdev
<heat_>
oh, google also has an internal RCU that uses rseq
<heat_>
fun stuff
<gog>
hi
Arthuria has quit [Ping timeout: 252 seconds]
vdamewood has quit [Quit: Life beckons]
<nikolar>
Hello gog
<gog>
hi nikolar
<nikolar>
Hi
Arthuria has joined #osdev
heat_ has quit [Read error: Connection reset by peer]
heat has joined #osdev
Arthuria has quit [Killed (NickServ (GHOST command used by Guest684531))]
Arthuria has joined #osdev
Cindy has quit [Ping timeout: 272 seconds]
Cindy has joined #osdev
Arthuria has quit [Ping timeout: 255 seconds]
Arthuria has joined #osdev
heat has quit [Read error: Connection reset by peer]
heat_ has joined #osdev
Arthuria has quit [Ping timeout: 264 seconds]
flom84 has quit [Ping timeout: 256 seconds]
Arthuria has joined #osdev
Arthuria has quit [Ping timeout: 252 seconds]
<zid>
gog can you set my space science up in my new base
<gog>
no i'm le tired
<kazinsal>
well then have a nap
<zid>
needs.. accumulators, radars, solar panels, rocket control units
<Griwes>
I didn't know you were near the letirement age