Search logs:

channel logs for 2004 - 2010 are archived at http://tunes.org/~nef/logs/old/ ·· can't be searched

#osdev2 = #osdev @ Libera from 23may2021 to present

#osdev @ OPN/FreeNode from 3apr2001 to 23may2021

all other channels are on OPN/FreeNode from 2004 to present


http://bespin.org/~qz/search/?view=1&c=osdev2&y=24&m=4&d=5

Friday, 5 April 2024

02:35:00 * geist yawns
02:35:00 <geist> found a good ARM64 mmu/tlb/speculation issue today
02:35:00 <geist> it’s a doozy, heat will appreciate
06:11:00 <childlikempress> hey mjg
06:11:00 <childlikempress> did you know that udp packets can now be sent in parallel by multiple threads on openbsd?
06:11:00 <childlikempress> it's true! https://www.openbsd.org/75.html
06:11:00 <bslsk05> ​www.openbsd.org: OpenBSD 7.5
06:13:00 <zid`> Split protocol control block table for UDP into IPv4 and IPv6 tables to allow concurrent access.
06:13:00 <zid`> good news, the totally different protocols no longer share locks too!
06:17:00 <childlikempress> this would not have been a problem if they had used transactional memory
06:18:00 <zid`> or vxworks
06:23:00 <kof673> > it's true!
06:23:00 * kof673 peacock/atum/100 other characters sheds a single rainbow tear shaped exactly the same as his tail feather "the more you know" <star>
06:24:00 <kof673> that was for heat
06:26:00 <childlikempress> ok transactional memory wouldn't have helped--they just had the one table before, not two tables with one lock
06:26:00 <childlikempress> BUT they could have used a scalable hash table instead of locking..
06:29:00 <geist> well, nice they fixed it
06:29:00 <geist> things dont just start out fully formed. it's the essence of engineering
06:29:00 <geist> you get it working and go back and fix it later
06:30:00 <geist> working suboptimally is infinitely better than not working at all
06:31:00 <childlikempress> sure and obviously there's tech debt because multiprocessors are like a New Thing by minicomputer os timelines
06:32:00 <geist> yah
06:32:00 <childlikempress> and i don't think even linux has scalable resizable hash tables?
06:32:00 <childlikempress> but openbsd also clearly does not care about scalability to the same degree as say linux
06:32:00 <geist> beats me. i dunno what a scalable resizable hash table is
06:32:00 <geist> i'm sure it's a neat algorithm though
06:32:00 <kazinsal> scalability in networking is also just kind of... not fun to write
06:33:00 <kazinsal> you gotta jump through some serious PCIe hoops to get line rate on a 100GbE NIC
06:33:00 <childlikempress> it's a hash table where multiple accesses (fine-print: to different keys, also false sharing and whatnot) can happen concurrently, and you can also resize concurrently
06:33:00 <childlikempress> kazinsal: ohhh i bet
06:34:00 <kazinsal> VFs on paper: makes life easier for virtualization
06:34:00 <kazinsal> VFs in reality: good luck getting line rate on the host without using the VFs on the host
06:34:00 <childlikempress> for nvme i think there is some usage of actual userspace drivers
06:35:00 <childlikempress> 'dpdk' i think it was?
06:35:00 <childlikempress> spdk
06:35:00 <kazinsal> dpdk is for offloading TCP processing to userspace through polling
06:35:00 <childlikempress> but i guess maybe the interfaces for network cards are more heterogeneous which would make that harder?
06:36:00 <kazinsal> ooohhhh yeah
06:36:00 <kazinsal> intel gigabit and older 10GbE ones generally look fairly similar but each generation and model has its own idiosyncracies
06:36:00 <kazinsal> then newer gen 10GbE/25GbE/40GbE ones are totally different
06:36:00 <kazinsal> and the latest 40GbE/100GbE ones are totally different yet again
06:37:00 <kazinsal> similar deal with the realteks and the marvells etc
07:50:00 <zid> help, the weird burning sky orb is here
07:50:00 <zid> what do I do GeDaMo
07:50:00 <kazinsal> go outside
07:50:00 <kazinsal> it's good for you
07:51:00 <GeDaMo> It's raining here :|
07:51:00 <GeDaMo> It's been raining all week
07:52:00 <zid> It was overcast yesterday, and rained last night
07:52:00 <kazinsal> yeah, gonna be a wet weekend here as well
07:52:00 <zid> but all of a sudden my window is blinding me, I assume a cloud got scared and ran away
07:52:00 <kazinsal> was hoping to get a bunch of walking in for cardio + offsetting the caloric costs of boozeahol
07:52:00 <zid> damn thing is 10 degrees off the horizon so it's baaad
07:52:00 <GeDaMo> There's a named storm this weekend, Kathleen
07:52:00 <FireFly> there's no sephirot outside the window that might've chased the cloud away?
07:53:00 <zid> like driving into the sun but.. indoors
07:53:00 <zid> those storms always miss me and hit ireland and scotland
09:54:00 <nikolapdp> zid, did the glowing orb in the sky wake you up
10:03:00 <zid> no
10:03:00 <zid> I woke up at.. not many hours o'clock
10:04:00 <zid> then the sun appeared and made me unable to continue reading my book for 15 mins, disgraceful behaviour
10:11:00 <nikolapdp> disgraceful indeed
10:14:00 <zid> I tried jokerless a bunch btw
10:14:00 <zid> it's fuckin hard
10:15:00 <zid> pretty sure I need to get lucky money, then get telescope voucher, then get a celestial pack every shop
10:15:00 <GeDaMo> jokerless?
10:15:00 <zid> GeDaMo: balatro
10:15:00 <GeDaMo> Ah
10:16:00 <pog> i've had good success with buffing mults for straights and the "four fingers" joker
10:17:00 <pog> but i haven't finished a run yet
10:30:00 <zid> pog: I'm talking about challenge 20 where jokers are banned, it's hard :P
10:33:00 <pog> oh my
10:36:00 <chiselfuse> why are memory address spaces sometimes depicted as the lowset address (eg 0) low in the picture and highest address (eg 2^64 - 1) high in the picture? instructions usually are followed top to bottom so having the lowest address at the top is more intuitive. is there any use to depicting it the other way around?
10:36:00 <zid> because books are portrait not landscape
10:37:00 <zid> and you have to pick something
10:37:00 <zid> left to right would be natural, everything else is a compromise
10:37:00 <chiselfuse> https://0x0.st/XiZM.png
10:37:00 <zid> a building has the lowest floor at the bottom, but a number written vertically will have the first number at the top
10:38:00 <zid> there's no true answer
10:38:00 <GeDaMo> So you want the higher addresses to be lower down the page? :P
10:38:00 <chiselfuse> zid: i don't understand what portrait vs landscape has to do with it, in the picture i posted if we flip it it'd still be in portrait
10:38:00 <zid> chiselfuse: You have 300mm vertically, or 210mm horizontally, minus a margin for the center fold
10:39:00 <zid> so it makes a lot more sense to draw diagrams vertically, if possible
10:39:00 <zid> They're almost 1:2 ratio once you consider the margin
10:40:00 <chiselfuse> zid: i don't want to rotate it by 90 degrees, i want to have 0 on top and 2^64 - 1 on the bottom, how would that make a difference in dimensions at all
10:40:00 <zid> I didn't tell you to.
10:40:00 <GeDaMo> Spin the wheel, raggedy man! :P
10:40:00 <zid> I was explaining why it was vertical not horizontal.
10:40:00 <chiselfuse> i never said i wanted it to be horizontal
10:41:00 <zid> This is not the first time you've skim read, or not read at all, the answer you were given
10:41:00 <zid> then argued because you didn't understand
10:42:00 <chiselfuse> oh, you were giving an analogy with vertical vs horizontal i see
10:42:00 <zid> Not an analogy no.
10:42:00 <zid> I said, explicitly, that neither top to bottom nor bottom to top are natural, *left to right* is natural. Unforunately, books do not work this way.
10:42:00 <zid> So you have one of two unnatural orientations remaining.
10:43:00 <zid> Both are shitty, that you have a mild preference for one or the other is just that, a mild preference, both suck.
10:43:00 <zid> Various documents will have either 0 at the top, or 0 at the bottom, because neither is better
10:43:00 <chiselfuse> i don't think that left to right or horizontal is natural at all either
10:44:00 <zid> Unfortunate
10:45:00 <chiselfuse> but regardless, now that we're stuck with vertical depiction... following instructions in an assembler or debugger they're laid out from low to high (top to bottom) so it's more intuitive to depict memory address spaces with low address on top imo and was wondering if there is any benefit to have it the other way around as i see in manuals
10:48:00 <zid> Almost all other things are bottom to top
10:48:00 <zid> mathematical axis, fluid tanks, tape measures, etc
10:48:00 <zid> axes*
10:49:00 <zid> Just turn your head left instead of right
10:51:00 <pog> left to right isn't necessarily natural either, that's just a convention we're comfoortable
10:51:00 <zid> pog wants to be arabic
10:52:00 <zid> but even arabic people put the number line left to right I am fairly sure..
10:52:00 <pog> hm
10:52:00 <pog> hebrew is right-to-left too tho
10:52:00 <zid> do they use mirrored graphs though
10:53:00 <pog> idk i guess i'd need to find an arabic comp sci textbook
10:53:00 <zid> https://miro.medium.com/v2/resize:fit:1400/1*hweAHIAU_5kNEcNSfKilmg.jpeg
10:53:00 <bslsk05> ​miro.medium.com: Just a moment...
10:54:00 <zid> arabic seems to agree, that 0 is bottom left corner
10:54:00 <zid> ergh this hotsauce is shite
10:54:00 <zid> "habanero with whiskey", it's apricot sauce that isn't even hot
11:05:00 <nikolar> zid yeah jokerless sounds tough
11:08:00 <zid> I think I just need to spam resets until I either get enough flush cards to tide me over, or get money + observatory early
11:08:00 <kof673> > if there is any benefit to have it the other way around which way does the stack grow?
11:08:00 <GeDaMo> Traditionally, stack grows downwards from high addresses
11:09:00 <kof673> which cpu is "traditionally" ?
11:09:00 <GeDaMo> It's not usually CPU specific
11:10:00 <kof673> another question would be...do the roots of the binary tree go on top lol
11:11:00 <kof673> *when depicted visually, regardless of addresses
11:14:00 <zid> sigh, got an okay start, then hit the worst boss ofc
11:15:00 <kof673> if it is not usually cpu-specific, where does the convention come from? language?
11:16:00 <kof673> i am not disagreeing, but someone had some reason at some point
11:16:00 <kof673> even if that is 'no reason'
11:16:00 <GeDaMo> The convention is to have code, static data then heap which grows up from the bottom and the stack grows down from the top
11:16:00 <zid> I've done so many resets I've played straight flush opening hand several times :p
11:16:00 <kof673> yes, in unixland? again not trying to nitpick, just what os/cpu/etc. did this happen on?
11:16:00 <zid> (without discarding)
11:17:00 <GeDaMo> On much older machines
11:17:00 <GeDaMo> Before things like virtual memory
11:18:00 <GeDaMo> To begin with, each program had the whole machine to itself
11:18:00 <GeDaMo> When multiprogramming came in, they tried to give the illusion that was still the case
11:20:00 <chiselfuse> is it so controversial to try to maintain the orientation the same as the one you read instructions in
11:21:00 <pog> it's not that it's controversial, it's that it's an established convention that most documents about system development are going to use
11:21:00 <kof673> > Little Nemo: The Dream Master - Guide and Walkthrough - NES gamefaqs.gamespot.com › NES › Action › Platformer › 2D Stand and prepare to feed the monkey-plate-throwers with needles. Beware of the plates! Now, investigate the upper floor with your bee.
11:21:00 <kof673> i just recall sometimes stacks get stack of dishes analogy
11:21:00 <zid> and it's just.. irrelevent
11:22:00 <kof673> and forth language books also were known for pictures :)
11:22:00 <kof673> at least the "beginner" ones
11:46:00 <netbsduser> i can't say i have ever heard someone analogise a stack to a stack of dishes
11:47:00 <pog> it's not a good analogy because you can take a copy of a plate at any position in the stack
11:56:00 <zid> fuck yea, beat jokerless
11:57:00 <zid> nikolapdp: https://cdn.discordapp.com/attachments/417023075348119556/1225776235100110919/image.png?ex=66225c14&is=660fe714&hm=5465bd3ad28877d35b761874bc82dab9fd64d67fcd6525a028683b05c216790a&
12:07:00 <nikolapdp> zid that's kind of working lol
12:07:00 <zid> I won
12:07:00 <nikolapdp> yeah
12:07:00 <nikolapdp> nice
12:07:00 <zid> It just was a bastardto set up
12:07:00 <nikolapdp> how many restarts did it take
12:07:00 <zid> like.. 40?
12:08:00 <nikolapdp> lol
12:08:00 <zid> and I'd have lost if I didn't get a glass card guy in my final rerolls I think
12:08:00 <zid> I used that + fool to add the two glass cards onto my held cards, just before I played
12:25:00 <nikolapdp> just in time
12:29:00 <kof673> > i can't say i have ever hear yes, not saying it is a good analogy "programming from the ground up, an introduction to programming using linux assembly language" jonathan bartlett page 53: well, we says it's the "top" but [...] although this is confusing, when we think of a stack of anything -- dishes, papers, etc. -- we think of adding and removing to the top of it
12:30:00 <kof673> i have another 386-ish assembly book maybe has it, and would not surprise me old forth books :D
12:30:00 <kof673> *we say
12:36:00 <kof673> also, you are failing Kek class nikolapdp :/ > Khnum, God of the Nocturnal Sun, is King of Frogs in Amenta, the hidden underworld > Num-Kufu, his dream of a deluge > Num, lord of the inundation
12:44:00 <nikolapdp> kek
14:18:00 <kof673> :) i would not say a perfect match, but princess rescued like frog prince, transformations...close enough for a joke
15:50:00 <GeDaMo> https://axleos.com/an-irc-client-in-your-motherboard/
15:50:00 <bslsk05> ​axleos.com: An IRC client in your motherboard | Phillip Tennen
15:53:00 <gog> UEFI IRC
15:53:00 <gog> this is my irc client, it's shaped like me
16:07:00 <pounce> gog: did you see my feature request
16:08:00 <pounce> https://github.com/codyd51/uefirc/issues/2
16:08:00 <bslsk05> ​github.com: IRCv3 support · Issue #2 · codyd51/uefirc · GitHub
16:13:00 <gog> hahahaha
16:13:00 <pounce> if awkbot can support ircv3 then so can uefirc!!
16:13:00 <gog> i'm rewriting this in C
16:13:00 <pounce> D:
16:13:00 <gog> don't try to stop me
16:14:00 <kof673> nikolapdp, https://www.chronowiki.org/wiki/Frog_Flare there was some golden sun thing...anyways lol > Lets not forget Frog Flare is the ONLY attack in the game capable of breaking the 9999 damage limit "we must learn the sign language" lol
16:14:00 <bslsk05> ​www.chronowiki.org: Frog Flare - Chrono Wiki - Chrono Trigger, Chrono Cross, Radical Dreamers
16:14:00 <kof673> i'll be good ;D
16:16:00 <nikolapdp> gog please do
16:16:00 <nikolapdp> kof673 what's that
16:21:00 <pounce> gog: pls don't rewrite awkbot in C
16:23:00 <gog> awkbot can stay
16:23:00 <gog> as long as gawk remains written in c
16:23:00 <gog> untill rawk is a thing
16:23:00 <gog> unless it already is idk
16:23:00 <gog> reimplement unix in rust
16:23:00 <gog> poorly
16:25:00 <pounce> is gnu C really C
16:25:00 <pounce> it's really like, its own dialect
16:25:00 <gog> is faroese danish or icelandic?
16:25:00 <gog> ¯\_(ツ)_/¯
16:27:00 <zid> boo, my mouse decided it was out of battery without really warning me, I only have one challenge left now
16:29:00 <pounce> I'm GObject sorry GObject I can't GObject understand GObject accent
16:30:00 <zid> That's why I name all my types G
16:30:00 <zid> It's much easier
16:31:00 <pounce> https://donotsta.re/notice/AgZzIeeXnioZUROK36
16:31:00 <bslsk05> ​<mei> i am a sleeper agent and "osdev" is my wakeword
16:34:00 <zid> I'm a sleeper agent
16:34:00 <zid> in that I like naps
16:39:00 <pounce> true
16:42:00 <gog> eepy
16:47:00 <puck> eeper agent
16:48:00 <gog> puck!
16:53:00 <Ermine> gpounce
16:53:00 <Ermine> gog would be og if not gobject
16:54:00 <zid> I might have a sleep agent moment in a bit
16:55:00 <gog> gogbject
16:56:00 <zid> that is a very spicey consonant cluster
16:56:00 <gog> thank you
16:57:00 <zid> that word looks wrong as spicy and as spicey
16:57:00 <zid> I need half-width e
16:57:00 <gog> spicyy
16:58:00 <gog> imagine it with vocal fry
16:58:00 <gog> that's spicyyy
16:58:00 <zid> let's go polish, spiczjy
16:58:00 <gog> spæsí
17:02:00 <FireFly> spezi,
19:02:00 <gorgonical> someone tell me some good news on this Friday in spring
19:03:00 <zid> I beat all the challenges in balatro at last
19:03:00 <gorgonical> Or fall, of course
19:03:00 <zid> no, or autumn
19:03:00 <zid> the only people in the south hemi are anzac
19:03:00 <gorgonical> they probably also call it autumn in sa
19:05:00 <gorgonical> ran a 10k in the rain yesterday. 44F/4C, but it was good
19:06:00 <zid> wat
19:06:00 <zid> "it was good"
19:06:00 <zid> you *ran*, for ten kilometers, and it was raining, and cold
19:06:00 <gorgonical> It was actually snowing at one point. Weird spring weather stuff
19:06:00 <clever> it was snowing yesterday, today its raining
19:06:00 <zid> Is there an emoji for when you do that finger circle next to your temple
19:06:00 <geist> there are birbs about, it's spring
19:06:00 <geist> though a cool day here, but it was warmer before
19:07:00 <gorgonical> are there mourning doves in Europe? There must be, right?
19:08:00 <gorgonical> those birds are the ones that really sound like spring to me
19:08:00 <geist> i upgraded one of my ryzen machines to a 5700x3d yesterday
19:08:00 <geist> solid gaming cpu for a reasonable price
19:08:00 <zid> turtledoves appear to be NA only
19:08:00 <zid> they're NTSC birds
19:08:00 <GeDaMo> https://knowyourmeme.com/memes/screw-loose-emoji
19:08:00 <bslsk05> ​knowyourmeme.com: Screw Loose Emoji | Know Your Meme
19:08:00 <gorgonical> that is crazy. Such an iconic sound to me
19:08:00 <geist> thankfully we dont really have doves here in the PNW as far as i can tell
19:08:00 <zid> wood pigeons are the iconic noise here
19:09:00 <geist> but that's okay, i find them kinda annoying
19:09:00 <geist> but we have a lot of robins
19:09:00 <zid> https://www.youtube.com/watch?v=poeYBbpR9z4
19:09:00 <bslsk05> ​'Wood Pigeon Call (Columba palumbus)' by My Birding Year (00:00:52)
19:09:00 <zid> all I hear some days
19:09:00 <gorgonical> the wood pigeons have a pretty similar call actually
19:09:00 <gorgonical> I guess they are both doves after all
19:09:00 <geist> i do miss whip-or-wills from texas
19:09:00 <geist> they were really neat
19:10:00 <gorgonical> oh those little stubby birds yeah
19:10:00 <zid> pheasants are spy drones not birds, do they count for this convo
19:10:00 <geist> https://youtu.be/jIxfVSS_65o yeah we had those and there's another variant that has a longer song....uh
19:10:00 <bslsk05> ​'Whip-poor-will Song' by American Bird Conservancy (00:00:45)
19:11:00 <gorgonical> zid: only if you're happy to hear pheasant calls this time of year
19:11:00 <geist> ah yeah chuck wills widow: https://youtu.be/H2T_CoHnZyc
19:11:00 <bslsk05> ​'Chuck-will's-widow Song' by American Bird Conservancy (00:00:25)
19:11:00 <gorgonical> they sound kind of like chickens to me, pheasants
19:11:00 <zid> they're robo-chickens
19:12:00 <gorgonical> NM has the best birds though. Roadrunners are ridiculous creatures
19:14:00 <gorgonical> https://www.youtube.com/watch?v=2MS6bhEL8qk
19:14:00 <bslsk05> ​'Greater Roadrunner Puffing & Clacking' by Clark County Wetlands Park (00:00:23)
19:24:00 <gorgonical> https://axleos.com/an-irc-client-in-your-motherboard/
19:24:00 <bslsk05> ​axleos.com: An IRC client in your motherboard | Phillip Tennen
19:32:00 <geist> oh no i have the neighborhood black lab dog hanging out on my porch again
19:32:00 <geist> she wants nothing more than to play fetch
19:32:00 <geist> like, totally obsessed with it
19:32:00 <gorgonical> sounds like work is over for the day
19:33:00 <geist> alas no tags, so i have no idea who the owner is
19:34:00 <zid> free snack
19:41:00 <geist> https://usercontent.irccloud-cdn.com/file/3izPRYh8/pineconedog.png
19:41:00 <geist> my move
19:41:00 <gorgonical> such a good photo
19:42:00 <geist> it's really hard to photo her, she moves around constantly
19:42:00 <gorgonical> also someone feeds that dog well. such a shiny coat
19:42:00 <zid> yea looks in good nick
19:42:00 <geist> yeah clearly she's well fed, but they didn't put a damn tag on her so no idea who the owner is
19:42:00 <geist> dumbasses
19:42:00 <geist> i'm not even sure that's legal
19:45:00 <zid> You're legally allowed to make it work your farm
20:58:00 <sham1> Looks like a good doggo, whose owner is an arse for not having a chip on
21:12:00 <geist> pretty much
21:12:00 <geist> at least put a tag so i know what to call her
22:53:00 <heat> hai
22:53:00 <heat> geist: oooh what's the arm64 issue
22:56:00 <heat20> pounce: i'd like to interject for a moment. what you're referring to as GNU code (GObject) is actually glib, *not* GNU code
22:56:00 <pounce> who wrote it then huh
22:56:00 <heat91> gnome project
22:57:00 <heat91> also what the fuck, is the web client borked, it keeps disconnecting after like 10 seconds
22:57:00 <childlikempress> death to gobject!
22:57:00 <pounce> wait you can get sortix cloaks!!
22:57:00 <heat91> do you want an onyx cloak?
22:57:00 <pounce> no i like my cloak
22:57:00 <heat91> i don't have one, but i can probably get you onee
22:58:00 <heat91> you just have to let me nitpick your contributions to shit
22:58:00 <childlikempress> why would you want an onyx cloak when you could have a meow cloak
22:58:00 <heat91> because onyx is *that* good
22:58:00 <heat91> better than cats.
22:58:00 <pounce> NO
22:58:00 <childlikempress> slander
22:59:00 <childlikempress> ^ see that's what happens to people who slander cats
22:59:00 <pounce> cats are better than software
23:00:00 <heat> ugh the web chat is so screwed
23:00:00 <pounce> why web chat
23:00:00 <heat> i'm on windows atm
23:01:00 <heat> linux couldn't handle my uni VPN without creating a routing loop, and now i'm having fun playing games
23:01:00 <pounce> my school blocks port IRC so i've been doing gamja recently
23:01:00 <heat> why would anyone do that
23:02:00 <heat> "hey, no 65+ people allowed on campus!"
23:02:00 <pounce> they also block NTP
23:02:00 <pounce> bruh
23:02:00 <mcrod> are you kidding?
23:02:00 <mcrod> to be honest it IS mostly bullshit these days
23:02:00 <heat> good, time is for chumps
23:02:00 <pounce> my laptop keeps running out of battery and resetting the clock and i have to do it manually
23:02:00 <pounce> so
23:02:00 <heat> what?
23:02:00 <pounce> my school was 'cyberattacked'
23:02:00 <childlikempress> are they gonna make ntp-over-https
23:02:00 <childlikempress> there's dns-over-https already
23:02:00 <heat> is your CMOS battery dead? do you have literally no CMOS battery?
23:03:00 <pounce> yeah
23:03:00 <pounce> apple silicon bay be
23:03:00 <mcrod> i have no idea what you're saying
23:03:00 <pounce> anyway
23:03:00 <pounce> they blocked all non http ports
23:03:00 <childlikempress> mcrod: <pounce> apple silicon bay be
23:03:00 <childlikempress> is what they said
23:03:00 <childlikempress> HTH.HAND
23:03:00 <pounce> ^^
23:03:00 <mcrod> thanks. that helps.
23:04:00 <pounce> and then they started randomly wiping computers in the school
23:04:00 <pounce> because these are the two ways to undo a cyberattack obviously
23:04:00 <childlikempress> ??
23:04:00 <pounce> so now i lock my computer in a locker, because even though it's a MACBOOK running LINUX i still am not confident that they would think it's a windows machine and wipe it
23:04:00 <pounce> so it runs out of battery
23:05:00 <pounce> and since it's weird new apple hardware that means the clock is gonzo too
23:05:00 <mcrod> why is a macbook running linux?
23:05:00 <heat_> FUCK IT WE'LL DO IT LIVE LINUX
23:05:00 <heat_> BDSM
23:05:00 <mcrod> for what it's worth
23:05:00 <mcrod> i'm on an M1 mac
23:05:00 <pounce> mcrod: are you asking why it's not my homebrew OS
23:05:00 <mcrod> and it is gorgeous
23:05:00 <mcrod> no
23:06:00 <pounce> well then that's why it's linux
23:06:00 <heat_> "hey i want an apple product but without half the experience (the good software bit)"
23:06:00 <heat_> "hey yall think i can install GNU hurd on the airpods"
23:06:00 <mcrod> oh, you deliberately chose to put linux on your macbook
23:06:00 <CompanionCube> pounce: wait are they wiping their own computers or computers other people own
23:06:00 <mcrod> that's like deliberately choosing to gouge your own eyes out
23:07:00 <mcrod> source: heat_ knows i've tried many distros
23:07:00 <mcrod> and none of them are working right except for now, arch
23:07:00 <heat_> ARCH ARCH ARCH ARCH ARCH ARCH
23:07:00 <pounce> CompanionCube: well they're _supposed_ to only be wiping computers they own
23:07:00 <mcrod> you see i'm so confused
23:07:00 <pounce> but they don't own my computer and i still got a sticky note saying 'please take your computer in for 'inspection'
23:08:00 <mcrod> then.. don't
23:08:00 <pounce> and my supervisor said to lock it in a cabinet
23:08:00 <heat_> mcrod: "pacman -S" is the same as "apt-get install"
23:08:00 <heat_> HTH
23:08:00 <pounce> because they wiped a PhD student's computer and lost all their work
23:08:00 <childlikempress> ????
23:08:00 <CompanionCube> this sounds like a legal threat waiting to happen
23:08:00 <mcrod> i'm just still sitting here wondering why linux is on a macbook
23:08:00 <heat_> how can they wipe it if its password locked?
23:08:00 <mcrod> I have no idea why someone would willingly make that choice
23:09:00 <mcrod> it really is like gouging your eyes out with a fondue fork
23:09:00 <heat_> hey do you think i can run netbsd on the airpods
23:09:00 <heat_> yes, ofc it runs netbsd
23:10:00 <mcrod> what's nice about mac right now: i have a unix on the desktop that works
23:11:00 <pounce> mcrod: macOS doesn't have a tiling WM that lets me reach 100% efficiency with my autism
23:11:00 <mcrod> i... ok
23:11:00 <mcrod> well
23:11:00 <mcrod> sorry.
23:16:00 <heat_> pounce, cant you replace the WM on a mac?
23:18:00 <pounce> not without turning off system protection and doing code execution into Dock.app!
23:18:00 <pounce> last time i checked (abt 1yr ago)
23:18:00 <pounce> code injection*
23:24:00 <pounce> normal WM: https://github.com/koekeishiya/yabai/wiki/Installing-yabai-(latest-release)#configure-scripting-addition
23:24:00 <bslsk05> ​github.com: Installing yabai (latest release) · koekeishiya/yabai Wiki · GitHub
23:25:00 <geist> heat_: well, i'll end up giving it to you ni the simple case where it's fairly obvious
23:26:00 <geist> `map_page(va, pa); dsb ishst; *va = 5;`
23:26:00 <geist> what are the possible outcomes there?
23:28:00 <heat_> hmm
23:29:00 <heat_> if va was mapped previously, you can write to the old mapping
23:29:00 <geist> va was not mapped previously
23:29:00 <heat_> ok then you write to *va, this looks okay?
23:30:00 <heat_> in theory you'd need an isb to make sure you don't speculate to an old .text mapping
23:30:00 <geist> yah one would thing
23:30:00 <geist> bingo. ISB required
23:30:00 <geist> in a sufficienty OOO core i found worse: *va = 5; would literally throw a data abort, translation not present
23:31:00 <geist> *after* dsbing the actual translation, whcih is supposed to be sufficient enough
23:31:00 <heat_> isn't dsb supposed to do the expected thing here?
23:31:00 <geist> until you read the fine print i guess
23:31:00 <heat_> i would understand isb for /maybe .text/ mappings, i do not understand why you'd need an isb here
23:32:00 <heat_> except for buggy implementations
23:32:00 <geist> so for M1 apple silicon, it seems to speculate ahead and execute the store, but doesn't retire it until it gets to it
23:32:00 <geist> and throws a fault. fine reading the manual it looksl ike that's valid
23:32:00 <geist> but no ARM core i've run on is sufficiently OOO to do that
23:33:00 <heat_> it was my understanding that ISB only controls instruction fetches and the instruction pipeline
23:33:00 <geist> the manual is pretty clear about DSB stalling until a bunch of things have happened, but then calls out explicitly that translations for future virtual addresses may occur
23:34:00 <geist> *unless* FEAT_ETS2 is present, which explicitly tightens this up
23:34:00 <heat_> oh, so you need to fully flush the pipeline to make sure no future outstanding stores are around?
23:35:00 <geist> right, talking to some x86 experts around work, they say that the reason x86 doesnt have this problem is even if it's allowed to speculate across the page table change, before it throws a #PF it will re-translate just to make sure
23:35:00 <geist> and then re-do the load/store, etc
23:35:00 <geist> but no where in the ARM manual does it say this
23:35:00 <geist> of you changed a mapping or removed one you'd put in a TLB flush, whcih would have been a sufficient barrier on either ARM or x86
23:35:00 <geist> (since you need a DSB + ISB there explicitly)
23:36:00 <geist> but point is if it's a mapping you may access within the same context (ie, ekrnel mapping in the kernel) you should ISB there after mapping a new entry, just to make sure the cpu doesn't speculate
23:36:00 <geist> linux has a DSB/ISB after every __set_pte
23:36:00 <heat_> can the arm cores not speculate user code from kernel space?
23:37:00 <geist> they could (though there's some new FEAT_* stuff against this) but those instructions could never commit since branching back to user space is via an eret, which functions as an ISB
23:37:00 <geist> a Context Synchronization Event, iirc
23:38:00 <geist> those act as a barrier in the future that instruction speculation can never cross
23:39:00 <geist> well, whether ornot the cpu is allowed to speculate into user space i dunno, i think there are some stronger FEAT_*s in later v8.x specs that make speculating across user/kernel pages and whatnot much stricter
23:40:00 <heat_> sounds like you need an isb even if its a userspace mapping then
23:41:00 <geist> not necessarily, though maybe for some sort of spectre/meltdown thing
23:41:00 <heat_> well, you just said they may or may not speculate across the privilege boundary
23:41:00 <geist> sure, but that's not the problem
23:42:00 <heat_> ah okay i guess since eret does the isb
23:42:00 <geist> speculating is fine, it's throwing a data abort as a result of it
23:42:00 <geist> now for meltdown/spectre speculation may not be fine, but taht's a different level
23:43:00 <geist> anyway, so it's possible this is only visible on M1 because it's a) so ridiculously out of order it's the only thing i have on hand that can repro it and/or b) arm cores re-validate the mapping before tossing a translation fault
23:44:00 <geist> b as far as i know is not required, i see no mention at all in the arm manual about this
23:44:00 <heat_> apple sillicon baby woooooooooo
23:46:00 <geist> yah i was reading a cinebench 2024 benchmark chart yesterday and M3 max single core performance at 4Ghz is trading blows with the highest end 6.2Ghz intel core at the top of the chart
23:46:00 <geist> OTOH who knows what the benchmark is generally stressing. may be a good memory subsystem stress, which apple silicon is also a beast at
23:47:00 <heat_> it's pretty amazing how apple knocks everything out the park
23:47:00 <heat_> except keyboards
23:48:00 <heat_> apple is very clearly not a keyboard company
23:48:00 <heat_> "how much key travel do you want? covid-19? gotcha"
23:50:00 <geist> oh also the reason i know this is a transient fault is immediately afterwards everything translates properly
23:50:00 <geist> (though throwing a translation fault the cpu is supposed to TLB flush)