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
<epony> light / fast
<epony> simple
<epony> RCS-like
puck has quit [Excess Flood]
puck has joined #osdev
<epony> and since you selected category humour, C/VS (Central Nervious System)
<epony> get it.. NerveOS
<AmyMalik> merp
<epony> try fossil to find out why git+apps sucks
slidercrank has quit [Ping timeout: 255 seconds]
nyah has quit [Quit: leaving]
<epony> daily quote from the Meritocracy-as-a-Service department: you'll like the Constant Data Base too
<zxrom> epony, Hi!
<epony> gr8ting
<kazinsal> geist: CVS is open and air conditioned at 4am when you're in vegas and you've just been kicked out of the house of blues VIP lounge
<kazinsal> that's probably its greatest quality
<epony> despair-conditioning considered harmful
<kazinsal> the version control system sucks though
<heat> i've never used non-git AMA
<bnchs> heat: are you a git?
<heat> yes
<heat> next question!
<bnchs> are you still a git
<heat> i am still a git
<epony> git is a turkish word
Vercas has quit [Quit: Ping timeout (120 seconds)]
Vercas has joined #osdev
bradd has quit [Ping timeout: 248 seconds]
eck has quit [Quit: PIRCH98:WIN 95/98/WIN NT:1.0 (build 1.0.1.1190)]
eck has joined #osdev
heat_ has joined #osdev
heat has quit [Read error: Connection reset by peer]
Arthuria has joined #osdev
raggi[m] has joined #osdev
raggi is now known as raggq
raggi[m] has quit [Quit: Reconnecting]
raggi[m] has joined #osdev
raggi[m] is now known as raggi
gog has quit [Ping timeout: 260 seconds]
tiggster79 has quit [Remote host closed the connection]
rcvalle has joined #osdev
tiggster has joined #osdev
bradd has joined #osdev
tepperson_ has quit [Ping timeout: 248 seconds]
silverwhitefish has joined #osdev
silverwhitefish has quit [Client Quit]
Arthuria has quit [Remote host closed the connection]
gorgonical has quit [Ping timeout: 268 seconds]
nj0rd has joined #osdev
SerHack has quit [Ping timeout: 255 seconds]
childlikempress has joined #osdev
moon-child has quit [Ping timeout: 268 seconds]
SerHack has joined #osdev
heat_ has quit [*.net *.split]
robem has quit [*.net *.split]
thaumavorio has quit [*.net *.split]
moberg has quit [*.net *.split]
outfox has quit [*.net *.split]
sebonirc has quit [*.net *.split]
qxz2 has quit [*.net *.split]
Terlisimo has quit [*.net *.split]
Amanieu has quit [*.net *.split]
ghostbuster has quit [*.net *.split]
colona_ has quit [*.net *.split]
XgF has quit [*.net *.split]
Ameisen has quit [*.net *.split]
ceremony has quit [*.net *.split]
troseman has quit [*.net *.split]
rb has quit [*.net *.split]
jeaye has quit [*.net *.split]
LambdaComplex has quit [*.net *.split]
doppler has quit [*.net *.split]
robem has joined #osdev
heat_ has joined #osdev
outfox has joined #osdev
moberg has joined #osdev
ceremony has joined #osdev
colona_ has joined #osdev
Ameisen has joined #osdev
ghostbuster has joined #osdev
troseman has joined #osdev
rb has joined #osdev
jeaye has joined #osdev
LambdaComplex has joined #osdev
doppler has joined #osdev
sebonirc has joined #osdev
Amanieu has joined #osdev
qxz2 has joined #osdev
thaumavorio has joined #osdev
XgF has joined #osdev
Terlisimo has joined #osdev
childlikempress is now known as moon-child
Gooberpatrol_66 has quit [Read error: Connection reset by peer]
Gooberpatrol_66 has joined #osdev
eroux has joined #osdev
gildasio1 has joined #osdev
gildasio has quit [Ping timeout: 255 seconds]
xvmt has quit [Ping timeout: 246 seconds]
xvmt has joined #osdev
danilogondolfo has joined #osdev
gildasio1 has quit [Remote host closed the connection]
gildasio1 has joined #osdev
grange_c0 has quit [Quit: Ping timeout (120 seconds)]
grange_c0 has joined #osdev
gabi-250_ has quit [Ping timeout: 255 seconds]
gabi-250_ has joined #osdev
gog has joined #osdev
thaumavorio has quit [Quit: ZNC 1.8.2 - https://znc.in]
thaumavorio has joined #osdev
danilogondolfo has quit [Remote host closed the connection]
danilogondolfo has joined #osdev
slidercrank has joined #osdev
nyah has joined #osdev
GeDaMo has joined #osdev
sinvet has quit [Remote host closed the connection]
heat_ has quit [Read error: Connection reset by peer]
heat_ has joined #osdev
heat_ has quit [Remote host closed the connection]
heat_ has joined #osdev
bradd has quit [Ping timeout: 268 seconds]
heat_ is now known as heat
sinvet has joined #osdev
craigo has quit [Ping timeout: 248 seconds]
mctpyt has joined #osdev
mctpyt has quit [Ping timeout: 260 seconds]
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
terrorjack has joined #osdev
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
gxt__ has quit [Remote host closed the connection]
gxt__ has joined #osdev
tepperson has joined #osdev
levitating has quit [Ping timeout: 268 seconds]
levitating has joined #osdev
<heat> darwin
<sham1> Charles
eck has quit [Quit: PIRCH98:WIN 95/98/WIN NT:1.0 (build 1.0.1.1190)]
eck has joined #osdev
<heat> wrong
<heat> its núñez
<heat> zid: i did the classic heat footballer moment
<sham1> Wait, no Charles Darwin? But why not
<heat> subscribe for more footballing tips and tricks
<sham1> Wait, football? Uug
<mrvn> mjg: What is the point of asm volatile("movl $0, %0" : "+m" (lk->locked)? That's just a "lk->locked = 0;" assuming locked is volatile. Why do that in asm?
<heat> yes
<heat> either football or kernel
<sham1> For fanciness
<heat> charles darwin is officially cringe
<mjg> mrvn: there is not
<zid> who is darwin nún~ez
<heat> https://www.google.com/search?q=darwin+nunez most beautiful man I've ever seen
<mrvn> When I hear Charles Darwin I alwasy think of the picture depicting evolution by showing horses to show how they changed. Except it's sorted by size and not by time.
<sham1> In the cringest sport
<heat> why
<sham1> It's not ice hockey
<heat> are you canadian
<zid> ur a guay, I see
<heat> that sounds like a canadian thing
<mrvn> My Rock 5B arrived today. But my power supply hasn't yet. :(((((
<sham1> Finn
<sham1> So close but not quite
<mrvn> Don't you all hate it when you get a new toy and batteries are not included?
<sham1> Yes
<sham1> It's terrible
<heat> mad cuz bad at football
<mrvn> heat: american or european football?
<heat> i said football didn't i
<mrvn> no
<zid> wait, sham is a fin?
<zid> I speak fluent finlandish
<heat> he's a fin and you're an ack
<heat> hehehehehehehehehe
<zid> sham1: poro poro perkele perkele
<mrvn> sham has the last word, he is finish(ed)
<sham1> Oh look, a joke I have heard before
<heat> do you Finnish quickly
<zid> I also speak fluent portugal
<zid> "man I wish I was spanish"
<mrvn> nobody expects the spanish inquisition.
<heat> no
<heat> "quem me dera ser inglês" more like it
<zid> quem me dera ser o olmo
<heat> who tf is olmo
<zid> we've covered this multiple times
<zid> it's a type of tree
<heat> why would I want to be a tree
<zid> Because it's the only porutgalese word I kow
<heat> would only work if I was icelandic
<heat> icelandish?
<heat> whatever
<mrvn> onde é a biblioteca?
<zid> zxrom: what?
<zid> Yes, I live in finland, hence my fluent poro poro perkele perkele
<zid> also stop pming me
k8yun has joined #osdev
k8yun has quit [Quit: Leaving]
terrorjack has joined #osdev
<gog> kutta vittu
<gog> heat: álmtré
Arthuria has joined #osdev
<zid> gog: do you know.. the javascript
<gog> some
<zid> I don't, so this is going very badly
<zid> Where this black line come from :(
<zid> I just changed a loop from (x = 1; x <= 8; x++) a[x-1] to (x = 0; x < 8; x++) a[x] and black line go away
<zid> I do not understand programming
<sham1> No one does
<gog> idk
<gog> i'm busy fighting with select2
<gog> it really hates being positioned
<gog> also it needs to work with mobile
<gog> which is a can of worms
<gog> and i have to open it
gabi-250_ has quit [Ping timeout: 255 seconds]
gabi-250_ has joined #osdev
<mrvn> zid: does that even change the codegen?
lav has joined #osdev
SpikeHeron has quit [Ping timeout: 255 seconds]
<marshmallow> I'm wondering, what happens you touch the screen on your phone to open an application? is an interrupt sent to the processor the same way you would press a button in a keyboard?
<marshmallow> *what happens when
gog has quit [Quit: Konversation terminated!]
<zid> depends if the sensor's controller is interrupt driven or not
<zid> it might be polled, because it's a sort of analogue thing
<zid> easiest way to tell would be if it loses taps if it lags
<zid> s/if it/when it/
tiggster has quit [Ping timeout: 255 seconds]
dude12312414 has joined #osdev
dude12312414 has quit [Remote host closed the connection]
<heat> i'm fairly sure even poll based stuff ends up using interrupts
<heat> (hidden by something like the USB controller)
<zid> I have input devices that swing both ways
<heat> linux isn't burning half a CPU doing a 1000HZ poll on my mouse
<zid> some that do 1000 interrupts a second, some that wait for you to do stuff
gog has joined #osdev
<zid> depends on the chip
<zid> (I don't leave that 1000hz one plugged in)
<lav> hi gog
elastic_dog has quit [Ping timeout: 264 seconds]
elastic_dog has joined #osdev
<heat> hi lav
<heat> it me, gog
<zid> gog, it heat
<lav> :o
gog is now known as pog
<pog> it me pog
<heat> man do I love living on this godforsaken rock
<lav> that's pog
<heat> no thats gog, which me
<pog> a godforsaken rock sounds cool imo
<lav> gogforsaken rock
<heat> gogforgogen gock
<lav> gogogogog gog
* pog petpetpetpetept lav
<lav> eee :3
heat is now known as gop
<gop> its me grand old party
<gop> or graphics output protocol
<gop> fuck your freedom and/or enjoy modesetting at boot
gop is now known as heat
lav is now known as warmth
<warmth> nya
<heat> hello warmth, it me, warmth
<warmth> so you're me but hotter?
<heat> i am warmth and you are also clearly warmth
<warmth> mew
<pog> mew
<heat> colon
SpikeHeron has joined #osdev
<warmth> three
warmth is now known as gender-ender
<pog> COLON THREEEEEEEEE
<pog> :333333
<heat> earlier this week i was feeling slightly ill but now I feel ok
<heat> my body stronk
<gender-ender> :3
<pog> i am slightly ill now
<pog> at the end of the week
<heat> is this a colon three moment
<heat> i dont think it is
<heat> what's the "colon feel better" combination
<zid> http://shogun.rm-f.net/~zid/gl_tex.html I messed up my code, but it makes very pretty patterns
<bslsk05> ​shogun.rm-f.net <no title>
<gender-ender> less than three?
<heat> zid, oi why are you painting it red
<heat> also moar pixels pls?
<zid> red is to diagnose when it crashed :P
<zid> it's 128x128 so deal
<zid> zoom the page out or something
<heat> why are you writing javascript
<heat> is something wrong?
<zid> new windows who this
<zid> no compilers
<heat> sounds like the perfect opportunity to install vs2022
<heat> a great opportunity to enjoy the latest cl.exe
<zid> heat: refresh it
<zid> you cockwomble
<zid> Fuck knows how I managed to make *that* pattern by interpolation
<heat> this looks nicer
<heat> what did you change?
<zid> turned interpolation off
<zid> ctx.texParameteri(ctx.TEXTURE_2D, ctx.TEXTURE_MAG_FILTER, ctx.NEAREST);
danilogondolfo has quit [Remote host closed the connection]
dude12312414 has joined #osdev
dude12312414 has quit [Client Quit]
robem has quit [Remote host closed the connection]
<heat> mjg, https://godbolt.org/z/bo9jW8Mcz what do we think of this spinlock
<bslsk05> ​godbolt.org: Compiler Explorer
<heat> i think it's pretty optimal
<heat> I get the cpu nr only once, clearly separate fast paths, slow path does test-and-test-and-set (with the test first since we just cmpxchg'd)
<mjg> have you read the mcs paper
<heat> maybe I could add an unlikely to the first test?
<heat> no, I don't care about mcs right now
<mjg> i told you the paper describes numerous locking strategies
<heat> also AIUI it's not really optimal for low CPU configurations
<mjg> i'm not saying you need to imlpement the mcs spinlock
<heat> i just want to know if this lock unsucks
<mjg> i am saying the above is bare minimum not-totally-dogshit, which you would know if you read the paper
<mjg> also mofo
<mjg> do { cpu_relax(); } while (....);
<heat> ah okay good catch
<mjg> i tolerate numcpu for debugging purposes
<mjg> otherwise you would just slap '1' in there
<mjg> with that in mind
* mjg rolls dice
<heat> numcpu is totally free-ish
<mjg> > you suck
<mjg> i'm sorry
<mjg> but congrats mate, i think that's better than what openbsd is doing
<mjg> :=]
<mjg> unless they fixed their stuff
<mjg> they had a a de facto cmpxchg loop, no pause()
<mjg> but it was obfuscated
<heat> what's the bsd spinlock?
<mjg> the freebsd is not good
<mjg> it is backoff
<mjg> it needs to be mcs or clh, but enotime
gabi-250_ has quit [Ping timeout: 255 seconds]
<heat> haha
<mjg> it is better than yours if that's what you are after
<mjg> :]
<mjg> a geezer call was made to support lock recursion everywhere
<mjg> this needs to be whacked first
<heat> why is it?
<mjg> tread the fucking mcs paper
<mjg> s/t//
gabi-250_ has joined #osdev
<heat> i think openbsd does not have spinlocks anymore
<heat> they're on the adaptive mutex koolaid like the rest of the BSDs
<mjg> everyone has spinlocks
<mjg> however, the *default* is indeed a lock which can go off cpu
<mjg> note this is mostly cargo-culted from solaris
<mjg> no joke
<heat> i think linux is also trending towards that honestly
<heat> because spinlocks suck for RT
<heat> <mjg> everyone has spinlocks <-- I had a look and I can't corroborate this for OpenBSD
<geist> perhaps they call it something else
<geist> some sort of adaptive mutex without blocking
<heat> neither does Net? https://man.netbsd.org/locking.9
<bslsk05> ​man.netbsd.org: locking(9) - NetBSD Manual Pages
<heat> ah, NetBSD has a type of mutexes called spin mutexes (see mutex(9))
<heat> oh man they have a whole pthreads-like customizable mutex system?
<mjg> i made a point to not look at openbsd
<mjg> but consdier the following: whatever lock is used to protect the list of threads put off cpu while waiting on the particular lock
<mjg> what do yu think it is locked by
<mjg> it is going to be a spinlock
<mjg> and there you are going to get the name
<mjg> it possibly rolls with "IPL" which is an outdated concept of managing "locking", which also disbles interrupts
<mjg> also check hteir scheduler lock
<mjg> it once more has to be a spinlock of some sort
<mjg> you literally can't go off cpu ;x
<heat> netbsd seems to have good locks, the fast path is even asm
<heat> also with exponential backoff though
<mjg> i know what' they do, it is crap
<mjg> i do concede general idea of asm fast path is ok though
<mjg> it is mostly the slowpath which is terrible
<mjg> i told them but got a lol rewsponse, so fuck em
<heat> what part of the slow path sucks?
<bslsk05> ​marc.info: 'mutex vs turnstile' - MARC
<mjg> for example
<mjg> Note that the lock apart from being free, can be:
<mjg> 1. owned by the same owner, which is now running
<mjg> In this case the bit is set spuriously and triggers slow path
<mjg> unlock.
<mjg> >
<mjg> it sets the waiters bit regardless *who* owns the lock (or whether they
<mjg> are running), but then only goes to sleep if the *original* owner has
<mjg> Fun fact is that implementation on Illumos behaves worse in this regard:
<mjg> the lock.
<mjg> ouch another stab at SOLARIS
<mjg> fucking guy, i swear
<mjg> that and their backoff has dogshit parameters
<mjg> basically ok for a 8 core box
<mjg> it was all set around 2009
<heat> i don't remember what a turnstile is
<mjg> consdier it a spinlock for the off cpu list
<mjg> it is moer than that, but conceptually it is sufficient for the issue at hand
<mjg> their rw locks are ven worse, but cna't be arsed to describe why
<mjg> exercise for the reader
<geist> okay, lets simmer down again please
<mjg> geist: on it :0
<mjg> > 20:50 < mjg> exercise for the reader
<heat> fyi openbsd does not have spinlocks
<mjg> does not matter how they call it, they definitely have something which only spins and never goes off cpu
<heat> it has a weird ticket spinlock system for the scheduler and a "kernel_lock"
<mjg> and they have to use to protect off cpu machinery
<mjg> use it*
<mjg> perhaps you are conflating not defaulting to spin locking [a'la linux] with not having spinlocks
<heat> this is very very special purpose
Arthuria has quit [Remote host closed the connection]
<mjg> in that tune, freebsd does not have spinlocks either
<heat> <mjg> perhaps you are conflating not defaulting to spin locking [a'la linux] with not having spinlocks <-- and is that a bad idea?
<mjg> the go to primitive is a lock which can go off cpu for a bounded period
<mjg> that is a very complicaetd subject mate, with a short: depends
<heat> all of disabling IRQs and preemption sucks for RT
<mjg> that's true
<mjg> but not everything is RT
<mjg> and in fact most is not
<heat> yes
<mjg> part of 'depends'
<mjg> look i have to go afk soon(tm)
<mjg> wanna flame, we can try monday or if you catch me over the weekend
<mjg> but only if you read the mcs paper
<heat> but I think linux is shifting towards CONFIG_RT-capability
<heat> this is not flaming, I'm learning
<heat> we're exchanging ideas
<mjg> i'm polish
<mjg> words with negative meaning used in place of their neutral counterparts are par the curse
<heat> i'm more or less content with the "raw" spinlock I have
<heat> I guess this generates bad code on arm though
<mrvn> heat: disabling IRQs just have to be bount for RT and I don't see how you could do RT without preemption
<mrvn> cooperative multitasking can never be RT
<mrvn> (assuming bad actors)
<mrvn> *grrr* I dug out a power supply with 18W (Rock 5B only needs 15W) but now I see it only does 5V and I need 9V or 12V.
craigo has joined #osdev
gender-ender is now known as lav
<dzwdz> hello
AmyMalik has quit [Quit: Bye Open Projects!]
Ellenor has joined #osdev
wootehfoot has joined #osdev
Vercas has quit [Quit: Ping timeout (120 seconds)]
Vercas has joined #osdev
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
<pog> hi
zxrom has quit [Quit: Leaving]
rorx has quit [Ping timeout: 248 seconds]
robem has joined #osdev
gorgonical has joined #osdev
<gorgonical> Evening everyone
<pog> howdy
<sham1> Evening
* pog slides a shot glass of brennavin to gorgonical
<dzwdz> \o
<gorgonical> Who are you pog and what have you done with gog
<lav> \:3/
<lav> gogonical :o
<gorgonical> Or do we somehow have two icelanders in this channel with similar names
<pog> she's safe
<pog> for now
<pog> (also i'm not an icelander)
<gorgonical> I remember
<pog> ég er frá bandaríkunum
<pog> :P
<gorgonical> I would never have guessed that's the US
<gorgonical> "tied states"
<pog> yes
<gorgonical> neat
<dzwdz> so how are your operations going
<dzwdz> on the systems
<pog> not great
<gorgonical> arm64 is dumb and I hate it
<lav> yhdysvallat :p
<pog> also i can
<gorgonical> perkele
<sham1> Amerikan* Yhdysvallat
<pog> can't really focus
<lav> Operating system? Sure isn't!
<gorgonical> I have studied some Finnish and I really liked how systematic and reasonable it felt
<sham1> And then come the dialects and suddenly the grammar gets thrown to hell. Thanks Savonia
<gorgonical> And the spoken/written dichotomy. y tho
<lav> To be fair, going to Savonia is your own fault...
<gorgonical> How many hours do I have to spend in my sauna to get Finnish citizenship?
<sham1> Right. It's just that as a person from Finland Proper, I can't understand those people and it doesn't help that they sometimes come here and one also needs to talk with 'em for work and such
<gorgonical> I'm willing to move to even Lapland if that makes it easier
bgs has quit [Remote host closed the connection]
<heat> pog pog pog pog pog
<pog> heat ehat heat eheat
<heat> bazunga
<pog> *laugh track
<pog> *overlaid laugh track of increasing volume*
<pog> *laugh track too loud for speakers distorting and clipping*
<pog> *laugh track is now in your mind*
<heat> *we have become laugh track*
<lav> mewo
Ellenor is now known as AmyMalik
craigo has quit [Ping timeout: 255 seconds]
airplanemodes has joined #osdev
_xor has joined #osdev
<sham1> cat
wand has quit [Ping timeout: 255 seconds]
wand has joined #osdev
<heat> ls
<lav> htop
rorx has joined #osdev
<klys> ls -ltac
<sham1> grep
robem has quit [Ping timeout: 268 seconds]
wootehfoot has quit [Read error: Connection reset by peer]
<nikolar> clear
* lav disappears off the screen
<bnchs> clear
<bnchs> wait.. *cough cough*
<bnchs> CLEAR!!
<klys> cls
* bnchs zaps nikolar's chest
<nikolar> Did i win
<klys> ^L
* moon-child pets sham1
<heat> ooh ^L is a cute trick
<moon-child> form feed
<mjg> wait till you learn to 'reset'... and that it does not always work :X