<heat>
so i guess they distinguish scheduling domains from memory nodes
<geist>
zen2+ they added the io die that all ram is hooked to, so you stopped getting numa-in-one-chip stuff
<heat>
because of what, caching?
<geist>
it shows up as 4 numas but only 2 are populated, so yeah, but i think thats the proper way of doing it anyway
<geist>
ie, tretaing them as two different layers of domains
<geist>
so needless to say it was only a marginal improvement over just a fully populated 2 node numa. the extra 16 cores are sort of second class citizens, mostly useful for non memory intensive processing
<nikolar>
heat: i've been asking you nicely for an sles lincense and still nothing
<nikolar>
smh
<heat>
well they're associated to a memory node still
<geist>
right
<heat>
i would assume it's mostly a scheduler thing, because of idk shared L3 cache or something?
<geist>
side note the cpu numbering is nice here: 0-7 on the first node with ram, 8-15 on the second node with ram, then 16-31 on the 3rd and 4th with no ram, repeat next 32 for secondary threads
<geist>
so if you boot your toy hobby os on it and just use the first 16 cores, boom you are doing good
<heat>
what kind of hobby OS doesn't parse NUMA tables? lol
<heat>
(onyx doesn't, yet)
<heat>
i would like to do it but i just don't have NUMA hardware
<geist>
you can dial it up on qemu but...
<geist>
it's just for testing really
<pog>
gog is still here
<geist>
whew
<geist>
i thought gog had left us forever
<nikolar>
geist: what happens if your hobby os doesn't use just the first 16 cores
<geist>
we had become just gogless heathens
<heat>
geist: yeah what's the fun in NUMA without all the weird shit happening
<heat>
and the SPEEDUPS and SLOWDOWNS
<geist>
nikolar: well, nothing bad, its just PESSIMAL
<nikolar>
yeah that's what i expected
<geist>
even using the first 16 in this case is sub optimal, because you're not dealing with the NUMA part
<geist>
but also putting all the hyperthreaded pairs in the second set is another thing
<geist>
if you dont deal with hyperthreaded scheduling
<Matt|home>
kof673 - yep i read up on it
jcea has joined #osdev
agent314 has joined #osdev
edr has quit [Quit: Leaving]
agent314 has quit [Ping timeout: 252 seconds]
agent314 has joined #osdev
jcea has quit [Ping timeout: 248 seconds]
fedaykin has quit [Quit: leaving]
fedaykin has joined #osdev
agent314 has quit [Ping timeout: 265 seconds]
<zid>
heat: is the offer to kick your face in at counterstrike open to all of us?
<bslsk05>
skanthak.hier-im-netz.de: “True Lies” – or “What LLVM Claims, but Fails to Deliver”
<heat>
mon i found you but compilers
<Ermine>
well, he's proven to be a clown on gcc mailing list
<Ermine>
and mjg is not a clown
<mjg>
sure i am
<mjg>
ask zid :(
<kof673>
clown was cunning, lost in translation :D > The clown is Sut, the sly and cunning one, whose zoötype was the jackal the judges are clowns in their jackal wigs :D > columbine, clown, harlequin, and pantaloon the tail of horsehair still survives with us as the queue of the judge’s wig
<kof673>
joker took batman to a very high mountain and offered him all of gotham city j/k
<zid>
PESSIMAL DIVISION
goliath has quit [Quit: SIGSEGV]
<mjg>
anyhow i don't know squat about that guy
<zid>
and denglisch kauderwelsch
<mjg>
or what he is commenting
<zid>
I think basically what I have learned is that llvm is shit at builtins
<mjg>
so here is a real thing
<mjg>
POSIX added O_CLOFORK
<mjg>
Linux folks NAKed a patchset adding it and it looks permament
<mjg>
the unimportant systems decided to implement it anyway
<mjg>
what's the big deal you might think
<mjg>
the big deal is running out of O_ flags
<mjg>
sooner than later they are going to find themselves in a position where linux adds O_CRAPPER and they can't implement the same thing becaus there is no space anymore
<mjg>
at which point... hehe
<heat>
int open2(const char *path, unsigned long flags, ...)
<heat>
ftfy
<mjg>
i'm aware
<heat>
actually
<heat>
unsigned long long
<heat>
mustn't forget the 32-bit platforms
<mjg>
except open() is using int and if you want to be COMPATIBLE
<mjg>
you are going to get yourself screwed
<heat>
for what it's worth most/all new open functionality is getting flags for openat2
<mjg>
if anything posix should stop adding O_ flags altogether
<mjg>
instead they can add this shit to something like open2 indeed
kata has joined #osdev
<heat>
openat2 is different because it takes an extensible struct
<heat>
the problem is that the syscall as-is can't be standardized :v
<mjg>
bottom line mofer
<mjg>
the niche systems suffering from manpower shortage
<heat>
well it actually could but you would strip the resolve flags out
<heat>
The semantics of RESOLVE_BENEATH were modeled after FreeBSD's O_BENEATH.
<mjg>
are putting doing work to require even more work later to keep up
<bslsk05>
marc.info: '[PATCH]: Add POSIX O_CLOFORK flag' - MARC
<mjg>
one of the lead devs says to add it just for compat with posix
<mjg>
so i'm gonna guess it is going to land
<heat>
> diff --git
<heat>
THE GUY IS USING GIT
<heat>
PREPOSTEROUS
<mjg>
big bad
<heat>
the PR to freebsd is also my coworker's
<heat>
:p
<heat>
... and dragonfly too
Left_Turn has joined #osdev
<mjg>
suse == BAD
<mjg>
do you think they bough the SLES license to get these patchen?
<heat>
at some point you write the patchset once for 4.4BSD and then fuzzy patch the others
<mjg>
ngl this kind of crapper is what i would pull of if i was in my early 20s
<mjg>
so i don't necessarily shit on the guy
<mjg>
does not change my opinion that this is a bad idea
<mjg>
now that i'm past 20s
<heat>
i'm not shitting on the guy
<heat>
i have a weird UNIX myself
Turn_Left has quit [Ping timeout: 248 seconds]
<mjg>
rly tho
<zid>
you're a weird unix conneusueisieur
<mjg>
after they run out of O_ flags they are going to end up patching up all programs to maintain compat
<mjg>
it wont be mucho f a bother to add open_with_long_af_flags_bro()
<mjg>
but then you will be fucking with 3rd party progs to use it
<mjg>
just tons of self-induced churn
<heat>
well yes but i don't think they're really adding new O_ flags, that's all
<heat>
linux, that is
<heat>
and POSIX probably won't add an O_ flag if other systems can't keep up
<Ermine>
are we going to have o_clofork in onyx?
<heat>
no
<Ermine>
ok
Turn_Left has joined #osdev
<mjg>
why not
<mjg>
maybe Richard can write you a patch
Left_Turn has quit [Ping timeout: 252 seconds]
<Ermine>
so when that kanthak guy did a similar "research" against gcc
<Ermine>
and was proven wrong about his several statements
<Ermine>
and generally acted like a minor
<zid>
heat: does llvm default to c23?
<zid>
if not I might switch
<heat>
i don't know
<heat>
lets check
<zid>
I asked the gcc people if I could configure for a specific standard to be the default and they told me "why the fuck would you want to do that? just fix your code"
<heat>
the one I have does not
<heat>
clang 20.1.6
<zid>
like there aren't literally millions of projects using 'gcc' and not 'gcc -std=gnu17', and precisely 4 lines of c23 in existance
<zid>
there's more c23 in the rfcs than in the world, currently
<zid>
my wsl kernel no longer builds cus they define 'bool' :D
<zid>
so I have to hack the kernel makefiles up
<heat>
there are kernel fixes for those
<heat>
let me see if i can find the patches
<zid>
yea but wsl gets updates rarely
<zid>
so I'd have to find them and merge them
<zid>
and run a non-standard kernel
<heat>
well sure but you're running a kernel you're building anyway
<zid>
pardon?
<heat>
> my wsl kernel no longer builds
<zid>
Closest valid parse: You suggesting some people run unbuilt kernels.
<heat>
so you're building it and I assume running?
* geist
watches the children argue in the park
<heat>
hi geist
<geist>
ola
<zid>
how do you.. not run a built kernel though heat
<eSa|>
Hello, I need help troubleshooting bochs not booting. Is there some good resource to lean on?
<zid>
uk confirmed nordic, portugal confirmed balkan
<zid>
you mean, your code you wrote, within bochs?
<GeDaMo>
What's that German things about railway stations?
<zid>
and what do you mean by 'not booting', it gives some error that the disk image you made for it isn't valid or such?
<eSa|>
zid, no I want to boot archlinux iso for fun, maybe also installing it
<zid>
and what does 'not booting' mean? (also you want qemu for that not bochs, realistically)
<geist>
keep in mind it'll likely run very slowly on bochs
<geist>
unless that's the point, of course, which i approve
<eSa|>
zid, I understand bochs that bochs nature is not well suited to execute code fast, while qemu is well versed for that. As I said I was toying with it these days and now I'd like to test how much time I'm willing to wait before giving up ... Sounds too lame?
goliath has joined #osdev
<geist>
sounds like a good saturday afternoon
<geist>
anyway, what's the issue you're having?
<zid>
third try lucky? :P
sprock has quit [Remote host closed the connection]
<eSa|>
zid, 'not booting' means that I've tried running bochs without any storage attached and I reach a point where some FPU errors are spit out on console... after that no more messages
<GeDaMo>
Show the command you're running and the output, use a paste site
basicprogrammer3 has quit [Remote host closed the connection]