<bslsk05>
ninjalj.blogspot.com: ninjalj's blog: Your own linker warnings using the GNU toolchain
<heat>
there
<nikolar>
oh just plonk a string into a section
<zid>
haaax
<nikolar>
i expected something way worse
<zid>
honest they should just delete gets
<zid>
20 years ago
<nikolar>
lol
<zid>
"No more gets, sorry, fix your shit"
<zid>
there's 0 ways to use it
<nikolar>
indeed
bauen1 has quit [Ping timeout: 260 seconds]
Gooberpatrol66 has joined #osdev
GeDaMo has quit [Quit: 0wt 0f v0w3ls.]
<geist>
heat: yay i joined the Zen 5 club
<heat>
noice
<heat>
which one?
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 265 seconds]
gf31 has joined #osdev
<geist>
9950x3d
<geist>
MAX ZEN 5 (desktop)
<heat>
oooooooooh
<heat>
nice
<geist>
it is interesting and slightly frustrating to see windows schedule or not schedule on the right ccx
<geist>
and looks like linux has no concept of steering things to one ccx or another
<geist>
not that it makes much difference here, vs the 7000 series where there was much more of a delta between x3d and non x3d ccxes
gf3 has quit [Ping timeout: 272 seconds]
gf31 is now known as gf3
<geist>
and i made one mistake and the silly mobo i got only has stereo out. i just assumed it'd have 5.1
<nikolar>
Nice
<nikolar>
I also have a heterogeneous zen 5, on my laptop though
<heat>
last I heard the AMD software for CCX steering shit has (had?) huge issues with core parking in general
<heat>
truly defective behavior shit
<nikolar>
Eh? Wouldn't know
<geist>
but otherwise it's totally fine. it's a case of if you're playing some game you might get a teensy bit better behavior if you can run it on one CCX vs the other but otherwise <shrug>
<geist>
i got the x3d version for if nothing else it's something to geek out over
nitrix_ has joined #osdev
<nikolar>
Kek yeah
<nikolar>
Now you're PRODUCTIVITY READY
<geist>
but now i finally have something with avx512 and the new amd paging stuff to play with
<zid>
x3d is for playing factorio
<geist>
for osdev
<zid>
you just need to install factorio
<geist>
indeed
<geist>
zid is already one step ahead of me
<nikolar>
Kek
<geist>
or i hear stellaris takes pretty good adantage of it
<nikolar>
Oh geist I did a cursed
nitrix has quit [Ping timeout: 260 seconds]
<zid>
(ignored his horse girls)
<geist>
kinda makes sense, games are in general *terrible* for cache locality. big huge linked lists of things to iterate every frame
<geist>
nikolar: oh yeah?
<zid>
geist: Also just a lot to do with how factorio is structured
<bslsk05>
chipsandcheese.com: Running Gaming Workloads through AMD’s Zen 5
<nikolar>
I booted a full Linux distro with user mode Linux
<geist>
if nothing else he finds that the IPC is extremely low in games, which is not news but the numbers are fascinating
<geist>
(instructions per cycle in this case)
<heat>
every CPU is for doing osdev
<zid>
Almost all games don't give a shit about their low ipc :P
<heat>
kernel stuff and stringops micro-optimization
<geist>
nikolar: oh shit that exists?
<heat>
yes
<nikolar>
Yup, sure does
<heat>
it's an awful hack that might be removed some day
<geist>
last i heard about that was like 20 years ago
<nikolar>
I love it, don't remove it
<nikolar>
It's beautifully cursed
<geist>
for a work thing we did a user mode LK thing, though i never rolled it back into mainline becaus eit was hacky
<heat>
it always is
<geist>
though i guess via anotehr mechanism we kinda have that in fuchsia for the starnix project
<geist>
since the starnix kernel runs in user space to run linux apps
<geist>
but that involves a kernel mode transition
<heat>
for UML it's not really much of a problem to the core kernel
<heat>
so there's a decent chance no one will push for its removal
<heat>
for the time being
<nikolar>
Lol I'll try to maintain it if it gets on the chopping block
<nikolar>
There's surprisingly little code for it
<geist>
i think at least for LK the largest hackery was dealing with the namespace collusion of the host libc and whatnot and the one in the kernel
<heat>
geist: btw you have shadow stacks and pkeys too now
<heat>
have fun
<geist>
yah
<nikolar>
Does anything use those
<nikolar>
What are pkeys even
<heat>
yeah
<geist>
we dont on fuchsia but we probably would if x86 became a priority again
<heat>
chrome uses pkeys for instance
<geist>
at the moment ARM is the biggest priority
<geist>
and our fleet of x86 testing machines is primarily nuc11s, 11th gen intel
<heat>
basically you pkeys are a mechanism where you say "this page and that page and that page and <...> are all mapped using this protection key", and you have a separate register where you control the protection keys
<heat>
so you can say "pkey1 = execute-only"
<zid>
arm has like 10 of those systems :P
<heat>
and then if you need to JIT something to it, "pkey1 = read-write, no-execute", then write to the pages, then "pkey1 = execute-only" again
<nikolar>
And the purpose is?
<heat>
more security and more performance while doing so
<zid>
you don't need to change all the page table entries
<heat>
pkey setting is all done in userspace, no need for TLB shootdowns, no need for page table entries, pkeys are also all thread-local
<geist>
ah yeah. ARM has something like that with a SCTLR bit
<zid>
it's basically just rings
<geist>
at least for that exact situation. something that says 'all W pages are -X' while its set
<nikolar>
I didn't quite get if from your explanation
<heat>
shadow stacks are security stuff, linux has support for it, modern(er) glibc has support for it but needs shadow-stack-compatible ELFs
<heat>
(AFAIR)
<geist>
for fuchsia we have pretty strong W^X capability system, but you still have to bypass it if you're writing a JIT
<geist>
damn jits!
jjuran has quit [Server closed connection]
<heat>
nikolar: ok, say you have some almost-read-only-data, except for some thread that updates it semi-rarely. you can set it to a protection key that's read-only, other threads can't write to it, and the updating thread can update the pkey to read-write, do the write, then update it back to RO. other threads will never be able to write to those pages, you didn't need to perform anything expensive on the updating side (e.g TLB shootdowns, or
<heat>
syscalls)
<geist>
though iirc the way you bypass it in fuchsia is a) you need a capability to do it and b) you *must* map the page twice, since we dont allow W+X at the same time on a single page
<geist>
so at least that means the W part of the page is mapped somewhere else, presumably randomly
<zid>
nikolar: think of cpl bits, but you index an array of permissions
<nikolar>
heat: ok that's better
<heat>
didn't you do shotgun mappings?
<geist>
we do
<zid>
so now you can rapidly change what a range of pages 'means'
<heat>
how much memory are you wasting with that?
<nikolar>
ah interesting
<zid>
by updating a single dword somewhere
<geist>
though that's only by default, you can map things where you need them to be if you have the capability
<geist>
heat: you wouldn't believe
<geist>
though, in the case of zircon at least the page tables are not permanent like they are in linux
<geist>
so we just reclaim the page tables constantly
<heat>
lol
<heat>
so you do page table thrashing?
<geist>
but it's still pretty bad. but there is a setting per aspace that controls the randomness of the ASLR
<geist>
it's kinda neat, it selects the amount of entropy, how much it tries to cluster the mappings
<geist>
at maximum mode it's a shotgun at a long distance, but as you cramp it down it starts to cluster around a random spot
<geist>
so you can tune it
<heat>
at work i was looking at some change a few years back, that made pagecache readahead a little more efficient
<geist>
it's basically the number of bits of the aspace that it deviates
<heat>
it turns out that making the page cache faster also "improves thrashing"
<heat>
so you just thrash a lot more :D
<geist>
so a 48 bit aspace with 48 bit aslr entropy is a full randomness
<geist>
but yeah we reclaim page tables alongside other things with the general page aging scheme
<heat>
yall need some brk in your lives
<geist>
since page ables themselves are not durable in fuchsia
<zid>
heat: That's why the web sucks now
<zid>
people keep making javascript faster every time someone abuses it
<geist>
no this is a decision we made. sceurity, etc etc
<zid>
instead of executing that person
beto has quit [Server closed connection]
<geist>
but if you crank the entropy down to 0 it basicaly acts like that
beto has joined #osdev
<geist>
and we can globally crank the default entropy down, so it's a systemwide tunable for situations where we have a small device without as much memjory, etc
<geist>
and it actually works, you get a graph of the MMU usage
<geist>
so i think we just found the sweet spot and thats where its set per product
<nikolar>
I wonder who'll pay me for stuff thag disappears
<nikolar>
heat that's a completely separate thing
<nikolar>
From what I understand at least
<heat>
not necessarily
<zid>
it's tangentially related at least
<zid>
sine related at best
<nikolar>
You can still boot up the game in that case
<nikolar>
You just can't play because there are no servers
<heat>
if steam stops existing and is online-only they just killed your games
<heat>
all of them
<nikolar>
A different kind of killing
<zid>
they don't care about steam not existing
<nikolar>
^
<zid>
they care about servers for online games not existing
<nikolar>
Yeah, they don't care if my license gets revoked
<zid>
to fix the steam problem you need to make game licencing not a thing, and instead make it game ownership, which is VERY beyond the scope of "ask developers very nicely not to shut down servers without giving us server binaries"
<heat>
why did your license get revoked?
<heat>
did you cheat?
<nikolar>
That's the wrong question
<nikolar>
Especially because I basically don't play online games
<zid>
we've always been at war with eurasia
<nikolar>
Who's we
<zid>
it's a quote from 1984, nikolar
<zid>
implying that he's using cliché doublespeak
<nikolar>
Ah that
<heat>
why?
<zid>
His line being a requote of "If you've done nothing wrong you've got nothing to hide"
<nikolar>
heat so why did Sony pull a billion movies and shows from their ps store last year
<zid>
which is trite authoritarian rhetoric that shouldn't fool anybody anymore
<nikolar>
I bet everyone cheated in online matches for, checks notes, movies
<heat>
because licensing
<heat>
the AV industry is whack yo
<nikolar>
So
<nikolar>
*sure
<zid>
heat: Why are you a corporate bootlicker? Do you think they'll give you a shitty handy or something?
<heat>
i have several games on steam whose store pages have been pulled
<nikolar>
So why do you assume I've cheated when I say that they can revoke my *license* to play a game or whatever
<zid>
nikolar: om nom nom leather
<heat>
i'm not assuming that, but it's very much a case i _care_ about
<nikolar>
I care about all other cases as well
<heat>
just because you bought a license for something doesn't mean you get the rights to it, perpetually
<nikolar>
Where I didn't actually do anything wrong
<zid>
you care so much about cheating that nikolar *must* rent all his games?
<zid>
what
<heat>
just like just because i license you Onyx under the GPL 2.0 doesn't mean you can piss all over the terms and then complain
<nikolar>
Well that's exactly the issue
<zid>
The law, in its majestic equality, forbids both the rich and the poor from refusing to sell you video games not under licence.
<nikolar>
If I give you money, and you tell me I'm *buying* games, that means I own them
<heat>
GPL 2.0 has license terms, and if you don't comply your license is retroactively retracted, simple as
<nikolar>
Everything else is a lie
<zid>
what the flying fuck does gpl have to do with anything
<heat>
it's a license zid.
<nikolar>
It's a license idk
<nikolar>
Lol
<zid>
We're talking about whether corporations should have the right
<zid>
to remote into your machine and delete things you paid for
<zid>
your response is "BUT ONYX IS UNDER GPL"
<heat>
no one is remoting into my machine
<nikolar>
Again, I'm not even talking about violating license terms
<zid>
"I BET YOU'RE A CHEATER ANYWAY"
<nikolar>
They can just yeet games for whatever reason
<zid>
seriously, the fuck are you on about
<nikolar>
You don't need to do anything wrong
edr has quit [Quit: Leaving]
<heat>
nikolar: then, arbitrarily, i'm obviously against that
<zid>
They can stop giving you the key to decrypt your games
<zid>
and there's NOTHING you can do about it
<zid>
and it *will* happen eventually
<nikolar>
Also bit just games, any digital media you've "bought"
jjuran has joined #osdev
<heat>
ok so what's your solution?
<nikolar>
s/bit/not/
<bslsk05>
<nikolar*> Also not just games, any digital media you've "bought"
<zid>
The saving grace is that steam isn't public
<heat>
you can get disks
<heat>
bluray or whatever
<zid>
so they're less likely to just enshittify
<zid>
no, you can't lol
<zid>
99.99% of games *do not exist outside of steam*
<nikolar>
When I pay for music, I do buy discs
<zid>
even boxed copies in shops, contain nothing but a steam key
<nikolar>
I don't "buy" music digitally
<nikolar>
^
<nikolar>
Even Nintendo gave up
<zid>
I own a dvd
<nikolar>
And just gives you a key
<zid>
that is just steaminstaller.exe
<zid>
burned to a disc
<heat>
ok now imagine i'm an indie dev
<heat>
i want to distribute my game
<heat>
how
<zid>
how is this relevent
<heat>
should steam send you a DVD?
<heat>
or should I do it?
<zid>
how is this relevent
<heat>
you're right zid, it's not.
<heat>
"there is a problem"
<heat>
"ok how would you solve it"
<zid>
no
<heat>
"how is that relevant"
<nikolar>
no
<zid>
"there is a problem" "what if I am an indie dev"
<zid>
you fucking wrote it, heat
<nikolar>
I don't know if you're missing the point in purpose at this point
<heat>
EA games doesn't have problems distributing DVDs of their shitty games
<zid>
Okay you're an indie dev, now what? What's the problem?
<zid>
You can still distribute through steam no matter how illegal we make it for steam to revoke your keys
<heat>
you would still call it loaning games because what if steam goes under
<zid>
I don't care what system you use to fix it, I wanna know what your magical point you were going to make was
<zid>
about being an indie dev
<nikolar>
I should still be able to play the games I've *bought*
<zid>
making it impossible for steam not to have the right to be a dick
<heat>
nikolar: sure, and i have bought ~100 games on steam
<zid>
They could put $20 into escrow for when they go bankrupt that emails the steam unpacker to archive.org, that'd be an improvement.
<nikolar>
heat: ok?
<nikolar>
I have bought plenty of games as well
<nikolar>
What's your point
<heat>
i have a very small amount of those installed
<zid>
ok?
<nikolar>
And?
<heat>
steam went tits up
<heat>
what now
<zid>
if you don't have a local copy, and your remote host went down
<zid>
with your only backup
<zid>
I'm going to caution you against only having a remote backup
<nikolar>
Lol
<nikolar>
Also completely irrelevant to companies actively revoking your access to games that you have installed
<nikolar>
Etc
<zid>
He went for the lowest hanging fruit of "if steam literally disappeared overnight", and not the actual issue, their legal right to DO SO
<heat>
> nikolar: then, arbitrarily, i'm obviously against that
<zid>
which is the problem here
<zid>
nikolar: basically I support corporations being much more holistically responsible for things they do
<nikolar>
Not exactly controversial
<zid>
Like, I think companies selling cheap bits of shit to also have to factor disposal costs into their price etc
<zid>
oil companies for spills, blah blah, mega contraversial yea
<zid>
heat seems to think "mmm tasty leather, it's their right to make a mess then disappear"
<heat>
fuck off
<zid>
you just spent 15 minutes defending their right to do that
<zid>
what were you expecting me to think your position was?
<zid>
other than the one you spent 15 minutes defending
<heat>
nikolar: if you want a polite discussion my dms are open
<heat>
otherwise, cya
Gooberpatrol66 has quit [Quit: Konversation terminated!]
<nikolar>
Hey I was polite
<nikolar>
I think at least
<heat>
i know
Lucretia has quit [Remote host closed the connection]
Left_Turn has joined #osdev
Gooberpatrol66 has joined #osdev
Turn_Left has quit [Ping timeout: 272 seconds]
Left_Turn has quit [Read error: Connection reset by peer]