klange changed the topic of #osdev to: Operating System Development || Don't ask to ask---just ask! || For 3+ LoC, use a pastebin (for example https://gist.github.com/) || Stats + Old logs: http://osdev-logs.qzx.com New Logs: https://libera.irclog.whitequark.org/osdev || Visit https://wiki.osdev.org and https://forum.osdev.org || Books: https://wiki.osdev.org/Books
<zid> there's a follow up btw, called yes prime minster, spoilers
<mjg> i wonder if heat thinks this is OPTIMAL https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=272238
<bslsk05> ​bugs.freebsd.org: 272238 – [PATCH] false sharing with pthread rw and spin locks leads to severe perf degradation
gog has quit [Quit: byee]
Brnocrist has quit [Ping timeout: 250 seconds]
<junon> on x86_64 if an interrupt handler calls a function, and that nested function calls iret, is it valid? if so, what happens to the stack?
[itchyjunk] has quit [Ping timeout: 246 seconds]
<zid> whatever you decide to do with it
<zid> presumably your rsp was just a copy of what's in tss0
<zid> so ultimately it just means there's some garbo stack frames left on it
<zid> but you'll start at the beginning again next interrupt
<junon> right, SP isn't persisted automatically to the TSS somehow upon iret is it?
<zid> that'd be.. a lot of work
<junon> okay
<zid> https://www.felixcloutier.com/x86/iret:iretd:iretq The psuedocode for what it does is in the manual
<bslsk05> ​www.felixcloutier.com: IRET/IRETD/IRETQ — Interrupt Return
<zid> kinda complicated to read through though because there's a lot of ring nonsense
<junon> Thanks :)
<zid> it only updates the tss if you're doing hw task switching
<zid> (that being effectively what hw task switching is, filling out the tss for you, nobody uses it because it's slow)
[itchyjunk] has joined #osdev
<junon> And hardware task switching isn't even present in x86_64 as far as I understand
<zid> yea I don't think so
<junon> Anyway, right. That's what I was thinking, thanks zid :)
<zid> Oh the bastards
<zid> protohackers sending me evil shit now
<zid> embedded nulls, and escaped quotes
rnicholl1 has joined #osdev
Brnocrist has joined #osdev
<mjg> ooH
<mjg> can'\t sleep
<mjg> what do
<Mutabah> Code
<mjg> i'm not an erd
<kazinsal> laugh at my suffering as I reinstall and re log into everything on a fresh windows install as part of troubleshooting my baffling watchdog lockup issues
<mjg> > windows
<mjg> lmao
<kazinsal> it's a desktop, not a server, linux is not applicable here
<mjg> in all seriousness now that i'm a proud non-gamer for years
<mjg> i got 0 use for windows
<mjg> the last windows i used was 7
<mjg> it was surprisingly ok
<zid> w7 was good, w10 is bad
<kazinsal> I've just installed 11, it's fine so far
<zid> w7 was just xp with a better dwm
<zid> xp64*
<kazinsal> haven't had to wrangle it to get it to stop showing ads like 10 was at launch
<morgan> w10 has wsl though
<zid> w10/w11 -> MICROSOFT STORE CORTANA HEY DO AN UPDATE OMG TOAST
<mjg> ;)
<zid> I spent the first 2-3 weeks figuring out how to shut it the fuck up
<kazinsal> oh nice 11 has terminal installed by default
<zid> it still tries to bing shit if I try to search my local computer ofc
<mjg> i woudl geuninely expect reddit to have a guide
<mjg> which works
<mjg> .. assuming it is possible to sort out as an end user
<zid> w10 rewrote its UI like 4 times
<zid> so all the answers are stale
<zid> there are 100% very confident guides that thousands of people link to, for w10 beta 3.4.1.1.4
<zid> that don't apply to build <$today>
<mjg> is that ms fucking with reddit
<kazinsal> it's more likely to be reddit people being real fuckin stupid
<zid> no that's just how google works
<zid> reddit search is useless
<zid> you have to google reddit
<mjg> site:reddit.com/r/osdevgonewild
<bslsk05> ​reddit.com: Reddit - Dive into anything
duderonomy has quit [Ping timeout: 250 seconds]
duderonomy has joined #osdev
<junon> are non-present PTEs/PDEs cached in the TLB?
<Mutabah> I don't think x86 caches negative entries
<junon> I can't find anything definitive either way :| I'll just assume that they might be but probably aren't
rnicholl1 has quit [Quit: My laptop has gone to sleep.]
torresjrjr has quit [Remote host closed the connection]
torresjrjr has joined #osdev
[itchyjunk] has quit [Remote host closed the connection]
smeso has quit [Quit: smeso]
smeso has joined #osdev
Vercas has quit [Quit: buh bye]
Vercas has joined #osdev
<moon-child> I don't see why they would be
<moon-child> huh
<moon-child> apparently there is now 'fast short rep cmpsb and scasb'
slidercrank has joined #osdev
slidercrank has quit [Remote host closed the connection]
slidercrank has joined #osdev
zxrom_ is now known as zxrom
zxrom_ has joined #osdev
zxrom has quit [Ping timeout: 250 seconds]
ThinkT510 has quit [Quit: WeeChat 3.8]
zxrom_ is now known as zxrom
pmaz has joined #osdev
GeDaMo has joined #osdev
pmaz has quit [Quit: Konversation terminated!]
gabi-250 has quit [Ping timeout: 240 seconds]
gabi-250 has joined #osdev
danilogondolfo has joined #osdev
JerryXiao has quit [Ping timeout: 258 seconds]
JerryXiao has joined #osdev
gareppa has joined #osdev
gog has joined #osdev
deflated8837 has quit [Read error: Connection reset by peer]
deflated8837 has joined #osdev
ThinkT510 has joined #osdev
sortie has quit [Ping timeout: 240 seconds]
Left_Turn has joined #osdev
nyah has joined #osdev
osmten has quit [Ping timeout: 246 seconds]
TheCatCollective has quit [Quit: Meow Meow Meow Meow Meow Meow Meow Meow]
TheCatCollective has joined #osdev
<truepassion> heat: just catching up after yesterday. thanks for the XNU link. tcr_el1.t1sz does seem cleaner than mapping and unmapping. performance wise i think both mechanisms should be same because TLB for kernel mappings are protected by ASIDs
zxrom has quit [Ping timeout: 246 seconds]
<truepassion> why does heat have to leave this channel?
<kazinsal> some people don't set up bouncers or have an irccloud account
<kazinsal> having set up a bouncer and run through that in the past it is a pain and is a stepping stone to just giving up and paying irccloud their medium coffee per month to do it for you
<truepassion> fair point
<kazinsal> once you reach the point of sciatica and spontaneous upper back pain that makes you wonder if you're having cardiopulmonary issues you stop giving a shit about janitoring your own IRC bouncer
<zid> He's here almost all of the time
<zid> and the channel is logged
<truepassion> cool
<mjg> we should all move to discord
<kazinsal> we should not
<zid> I think he was joking
<zid> but it's hard to tell with mjg
<kazinsal> as much as I like discord the osdev discord had a psychotic collective panic attack this morning about x86-s
<mjg> i never joke, let alone about discord
<zid> that's because all they write is bootloaders
<zid> DEY TERK ER JERKS!!
<zid> jerbs, even
<kazinsal> and all realistic discussion about how Intel has done embedded subsets of x86 for 40 years fell on deaf ears
<mjg> that said, being on discord is not necessarily the same as being on *that* discord
<mjg> just sayin
<mjg> discord.com/truosdev
<bslsk05> ​discord.com: Page Not Found | Discord
<zid> I prefer being able to ignore people, irc is better
<mjg> you can't on discord?
* mjg never used it
<kazinsal> I like the idea that we'll own #osdev on libera until libera gets bought by a fake korean prince and we have to find a new network
<zid> you 'can'
<zid> but it just replaces it with a big MESSAGE BLOCKED, CLICK HERE TO REVEAL banner
<zid> and it still pings you
<mjg> :S
<mjg> gg
<mjg> no plugins to sort this out?
<kazinsal> you can turn off per server pings
<mjg> maybe you want pings
<zid> yea I mute every server immediately
<mjg> just not from the ignored individual
<zid> but it *would* still ping
<kazinsal> discord is a weird electron thing so all no true scotsman free software dipshit hates it
<zid> and it still lights the channel up
<zid> like the white numbers in irssi
<zid> or red channel names in mirc
<kazinsal> I like having IRC be my "serious" chat
<kazinsal> as a result I have three IRC channels
<zid> irc is srs bsns
<kazinsal> this one, a personal one, and another personal one
<kazinsal> this is the only one that anyone posts in
<kazinsal> because I can't do projects worth a shit lmao
<zid> projects are easy, getting them to the point anyone would even give the remoteist shit is impossible :P
<zid> I have LOADS of projects!
<zid> I start like 2 per day!
<kazinsal> my two main projects are a serious one that needs a total rewrite and an april fools one from 2018 that I never finished
<kazinsal> the latter is still more likely to release than the former
<zid> I need to hook up a perspective matrix to the gl code I wrote
<zid> sounds like effort to me
<kazinsal> boring. do what I want to do and reimplement fourth edition unix for the 5150
<zid> I'd rather kill myself
lg_ has joined #osdev
lg has quit [Ping timeout: 264 seconds]
<kazinsal> or what I actually do and sit around at 0440 mid vacation drunk as a lord watching a Prince concert
lg_ has quit [Quit: leaving]
lg has joined #osdev
zxrom has joined #osdev
awita has joined #osdev
goliath has joined #osdev
dormito has quit [Ping timeout: 265 seconds]
dormito has joined #osdev
zxrom has quit [Ping timeout: 240 seconds]
jeaye has quit [Server closed connection]
jeaye has joined #osdev
goliath has quit [Quit: SIGSEGV]
<gog> hi
<bnchs> hi gog
<gog> hi bnchs
<bnchs> mew
<sham1> ugh
<gog> hi sham1
<sham1> hi gog
<gog> what's the matter
<sham1> The weather is being annoying. Too much thunder and such and generally just not fun
<gog> dang
<gog> we had sunshine this morning
<gog> then around noon the clouds piled up
<gog> sprinkling now
<gog> there was supposed to be a big party for tourism industry people tomorrow night but it's postponed due to weather
goliath has joined #osdev
k0valski18891 has joined #osdev
goliath has quit [Quit: SIGSEGV]
<zid> I just showed someone the classic 'invert this if to remove the indentation from a bunch of code'
<zid> and their response was.. "no"
slidercrank has quit [Ping timeout: 250 seconds]
bas1l is now known as basil
<gog> lmao
<mjg> why lamo
<mjg> this is the typical response when someone feels stupid
<mjg> dismiss the claim, life is ez
zxrom has joined #osdev
xenos1984 has quit [Ping timeout: 264 seconds]
xenos1984 has joined #osdev
Mutabah has quit [Ping timeout: 240 seconds]
sjs has quit [Quit: sjs]
Mutabah has joined #osdev
xenos1984 has quit [Ping timeout: 240 seconds]
xenos1984 has joined #osdev
xenos1984 has quit [Ping timeout: 245 seconds]
<bslsk05> ​www.intel.com: Envisioning a Simplified Intel Architecture for the Future
<geist> but they're keeping 32b user space apps
<geist> that makes *way* more sense, because there's all this 32b stuff in windows
innegatives has joined #osdev
slidercrank has joined #osdev
<kof123> re: indentation that sounds like a good response to people who don't like multiple returns
* kof123 makes one giant ? : ?: ?: ?: ?: return statement
<kof123> there, refactored, one return
Matt|home has joined #osdev
gog has quit [Quit: Konversation terminated!]
xenos1984 has joined #osdev
sjs has joined #osdev
Brnocrist has quit [Ping timeout: 264 seconds]
Brnocrist has joined #osdev
gog has joined #osdev
Brnocris1 has joined #osdev
Brnocrist has quit [Ping timeout: 260 seconds]
dutch has quit [Quit: WeeChat 4.0.0]
dutch has joined #osdev
gorgonical has joined #osdev
innegatives has quit [Quit: WeeChat 3.8]
dennisschagt has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
dennisschagt has joined #osdev
dude12312414 has joined #osdev
pounce has quit [Remote host closed the connection]
pounce has joined #osdev
freakazoid332 has quit [Ping timeout: 240 seconds]
gareppa has quit [Quit: WeeChat 3.8]
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
<Ermine> Apparently printing is PITA even on android
justmatt8 has quit [Quit: ]
justmatt8 has joined #osdev
justmatt8 has quit [Read error: Connection reset by peer]
justmatt8 has joined #osdev
sinvet has quit [Remote host closed the connection]
sinvet has joined #osdev
danilogondolfo has quit [Quit: Leaving]
<gorgonical> quiet day today
<gorgonical> people must actually be working
<sham1> Heresy!
<gorgonical> I've been tangling with building an external linux module in buildroot all afternoon and farting around with the device tree interface
<gorgonical> I could have been done with this in my kernel by now :(
slidercrank has quit [Ping timeout: 246 seconds]
<Ermine> gog: may I pet you
<Ermine> re quietness: I'm having an exam tomorrow, so I guess I need to get prepared
<mcrod> hi
<zid> I wrote some assembly as a shitpost and the person it was for won't look at it
<zid> smh
sinvet has quit [Remote host closed the connection]
sinvet has joined #osdev
<gorgonical> perplexes me that linux doesn't provide a typedef for virtual vs physical addresses
<gorgonical> like why not even a typedef uintptr_t vaddr_t or something like that just to convey intent?
<junon> Why would a kernel use IPIs for shoulder tapping a TLB shootdown instead of some shared memory buffer or something? Just because of urgency?
<gorgonical> first thought is that a shared buffer could become the target of a shootdown
<gorgonical> and you have then a bootstrapping problem
<junon> Why would it be though if it's a kernel facility? Can't the kernel guarantee that the shared buffer is never touched?
<gorgonical> Sure, but certain architectures have weak memory coherence between cores and if you e.g. change mappings there are situations where shooting down tlb entries may be needed
<gorgonical> That's not a very educated guess, by the way, it's mostly a hunch
<zid> I thought shoulder tapping was an input technique for game controllers
<junon> It's the term I read for when you do an IPI
<zid> it sounds like a bad joke term
<gorgonical> yeah everyone just calls that a tlb shootdown. I think it's generally assumed you're IPIing
<gorgonical> I personally have not ever heard another term for it
<junon> And if you specify that the channel never changes mappings, why would TLB shootdowns affect it?
<junon> https://en.wikipedia.org/wiki/Inter-processor_interrupt -> where it mentions shoulder tapping, apparently something IBM said.
<zid> aka it's from the 50s
<gorgonical> That should be true on a good architecture that e.g. has asids or global mappings, but it won't always be. Virtualization can be a problem, too, where tlb can be flushed with a suboptimal implementation of tlb stuff
<gorgonical> and IBM always has wacky old terms for stuff anyway
<gorgonical> All I'm saying is that, yes, a shared buffer+polling could work, but an IPI is likely to work almost all the time
awita has quit [Remote host closed the connection]
<junon> x86_64 and ARM both have ASIDs and global mappings
<junon> So really it comes down to portability
<junon> right?
<gorgonical> I would guess so
<junon> If I wanted this to work on niche architectures then this would be more of a concern
<gorgonical> But Linux isn't always doing the most optimal thing. When I ported my kernel to risc-v I borrowed some primitives and stuff from Linux and there was plenty of stuff that could have been done better
<junon> Referring to TLB shootdowns, you mean?
<gorgonical> Other things, too
<junon> Oh, yeah :D
<gorgonical> RISC-V is actually not a bad example of this. The head.S implementation has wacky handling of MMU state because there is not consensus about what the MMU will be when head.S is called
<junon> Thanks for the info!
nvmd has joined #osdev
<gorgonical> I even asked the guy that wrote it and basically it is possible and has been seen that the MMU may be off or on, and if on the mappings may be identity or maybe not. Firmware makes the choice
<moon-child> junon: urgency yes--if the user munmaps, and that happens before an access to the newly-unmapped page, the access should fault
<moon-child> I think it would be a good idea to provide an interface that allows for the kernel to unmap memory asynchronously
<moon-child> io_uring would be a good place for it--ideally, it would allow for no context switches whatsoever in the userspace allocator
<junon> Ahh okay, that makes sense. That's not even the usecase I'm thinking of, but yeah that makes more sense.
<gog> hi
<gog> i was doing wife things
<moon-child> hi
<gog> re: quiet
<gog> also my glasses arrived so i had to run to the post box to get them
<moon-child> ( ͡° ͜ʖ ͡°)
<gog> not like that
<gorgonical> like housechores or something
justmatt8 is now known as justmatt
<gog> no we had dinner and watched tv
justmatt has quit [Quit: ]
[itchyjunk] has joined #osdev
Left_Turn has quit [Read error: Connection reset by peer]
frkzoid has joined #osdev
raggi has joined #osdev
warlock has quit [Ping timeout: 246 seconds]