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=23&m=3&d=3
00:00:00 <epony> light / fast
00:00:00 <epony> simple
00:02:00 <epony> RCS-like
00:06:00 <epony> and since you selected category humour, C/VS (Central Nervious System)
00:07:00 <epony> get it.. NerveOS
00:13:00 <AmyMalik> merp
00:16:00 <epony> try fossil to find out why git+apps sucks
00:56:00 <epony> daily quote from the Meritocracy-as-a-Service department: you'll like the Constant Data Base too
00:56:00 <zxrom> epony, Hi!
00:57:00 <epony> gr8ting
00:58:00 <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
00:58:00 <kazinsal> that's probably its greatest quality
00:59:00 <epony> despair-conditioning considered harmful
01:04:00 <kazinsal> the version control system sucks though
01:07:00 <heat> i've never used non-git AMA
01:07:00 <bnchs> heat: are you a git?
01:07:00 <heat> yes
01:07:00 <heat> next question!
01:08:00 <bnchs> are you still a git
01:08:00 <heat> i am still a git
01:10:00 <epony> git is a turkish word
14:46:00 <heat> darwin
14:48:00 <sham1> Charles
14:50:00 <heat> wrong
14:50:00 <heat> its núñez
14:51:00 <heat> zid: i did the classic heat footballer moment
14:51:00 <sham1> Wait, no Charles Darwin? But why not
14:51:00 <heat> subscribe for more footballing tips and tricks
14:51:00 <sham1> Wait, football? Uug
14:53:00 <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?
14:54:00 <heat> yes
14:54:00 <heat> either football or kernel
14:54:00 <sham1> For fanciness
14:54:00 <heat> charles darwin is officially cringe
14:55:00 <mjg> mrvn: there is not
14:55:00 <zid> who is darwin nún~ez
14:55:00 <heat> https://www.google.com/search?q=darwin+nunez most beautiful man I've ever seen
14:56:00 <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.
14:56:00 <sham1> In the cringest sport
14:56:00 <heat> why
14:56:00 <sham1> It's not ice hockey
14:56:00 <heat> are you canadian
14:56:00 <zid> ur a guay, I see
14:56:00 <heat> that sounds like a canadian thing
14:57:00 <mrvn> My Rock 5B arrived today. But my power supply hasn't yet. :(((((
14:57:00 <sham1> Finn
14:57:00 <sham1> So close but not quite
14:57:00 <mrvn> Don't you all hate it when you get a new toy and batteries are not included?
14:58:00 <sham1> Yes
14:58:00 <sham1> It's terrible
14:58:00 <heat> mad cuz bad at football
14:58:00 <mrvn> heat: american or european football?
14:58:00 <heat> i said football didn't i
14:59:00 <mrvn> no
14:59:00 <zid> wait, sham is a fin?
14:59:00 <zid> I speak fluent finlandish
14:59:00 <heat> he's a fin and you're an ack
14:59:00 <heat> hehehehehehehehehe
14:59:00 <zid> sham1: poro poro perkele perkele
14:59:00 <mrvn> sham has the last word, he is finish(ed)
15:00:00 <sham1> Oh look, a joke I have heard before
15:00:00 <heat> do you Finnish quickly
15:01:00 <zid> I also speak fluent portugal
15:01:00 <zid> "man I wish I was spanish"
15:01:00 <mrvn> nobody expects the spanish inquisition.
15:01:00 <heat> no
15:01:00 <heat> "quem me dera ser inglês" more like it
15:02:00 <zid> quem me dera ser o olmo
15:03:00 <heat> who tf is olmo
15:04:00 <zid> we've covered this multiple times
15:05:00 <zid> it's a type of tree
15:05:00 <zid> https://en.wikipedia.org/wiki/Elm
15:05:00 <heat> why would I want to be a tree
15:05:00 <zid> Because it's the only porutgalese word I kow
15:06:00 <heat> would only work if I was icelandic
15:06:00 <heat> icelandish?
15:06:00 <heat> whatever
15:07:00 <mrvn> onde é a biblioteca?
15:22:00 <zid> zxrom: what?
15:23:00 <zid> Yes, I live in finland, hence my fluent poro poro perkele perkele
15:23:00 <zid> also stop pming me
16:30:00 <gog> kutta vittu
16:30:00 <gog> heat: álmtré
16:48:00 <zid> gog: do you know.. the javascript
16:49:00 <gog> some
16:49:00 <zid> I don't, so this is going very badly
16:50:00 <zid> Where this black line come from :(
16:51:00 <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
16:52:00 <zid> I do not understand programming
16:53:00 <sham1> No one does
16:56:00 <gog> idk
16:56:00 <gog> i'm busy fighting with select2
16:58:00 <gog> it really hates being positioned
16:59:00 <gog> also it needs to work with mobile
17:00:00 <gog> which is a can of worms
17:00:00 <gog> and i have to open it
17:06:00 <mrvn> zid: does that even change the codegen?
17:39:00 <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?
17:39:00 <marshmallow> *what happens when
17:41:00 <zid> depends if the sensor's controller is interrupt driven or not
17:41:00 <zid> it might be polled, because it's a sort of analogue thing
17:41:00 <zid> easiest way to tell would be if it loses taps if it lags
17:41:00 <zid> s/if it/when it/
18:23:00 <heat> i'm fairly sure even poll based stuff ends up using interrupts
18:24:00 <heat> (hidden by something like the USB controller)
18:24:00 <zid> I have input devices that swing both ways
18:24:00 <heat> linux isn't burning half a CPU doing a 1000HZ poll on my mouse
18:24:00 <zid> some that do 1000 interrupts a second, some that wait for you to do stuff
18:24:00 <zid> depends on the chip
18:25:00 <zid> (I don't leave that 1000hz one plugged in)
18:25:00 <lav> hi gog
18:26:00 <heat> hi lav
18:26:00 <heat> it me, gog
18:26:00 <zid> gog, it heat
18:26:00 <lav> :o
18:26:00 <pog> it me pog
18:26:00 <heat> man do I love living on this godforsaken rock
18:26:00 <lav> that's pog
18:26:00 <heat> no thats gog, which me
18:27:00 <pog> a godforsaken rock sounds cool imo
18:27:00 <lav> gogforsaken rock
18:28:00 <heat> gogforgogen gock
18:28:00 <lav> gogogogog gog
18:28:00 * pog petpetpetpetept lav
18:29:00 <lav> eee :3
18:29:00 <gop> its me grand old party
18:29:00 <gop> or graphics output protocol
18:29:00 <gop> fuck your freedom and/or enjoy modesetting at boot
18:30:00 <warmth> nya
18:31:00 <heat> hello warmth, it me, warmth
18:31:00 <warmth> so you're me but hotter?
18:32:00 <heat> i am warmth and you are also clearly warmth
18:33:00 <warmth> mew
18:33:00 <pog> mew
18:34:00 <heat> colon
18:34:00 <warmth> three
18:35:00 <pog> COLON THREEEEEEEEE
18:35:00 <pog> :333333
18:35:00 <heat> earlier this week i was feeling slightly ill but now I feel ok
18:36:00 <heat> my body stronk
18:36:00 <gender-ender> :3
18:36:00 <pog> i am slightly ill now
18:36:00 <pog> at the end of the week
18:38:00 <heat> is this a colon three moment
18:38:00 <heat> i dont think it is
18:38:00 <heat> what's the "colon feel better" combination
18:38:00 <zid> http://shogun.rm-f.net/~zid/gl_tex.html I messed up my code, but it makes very pretty patterns
18:38:00 <bslsk05> shogun.rm-f.net <no title>
18:39:00 <gender-ender> less than three?
18:39:00 <heat> zid, oi why are you painting it red
18:39:00 <heat> also moar pixels pls?
18:39:00 <zid> red is to diagnose when it crashed :P
18:40:00 <zid> it's 128x128 so deal
18:40:00 <zid> zoom the page out or something
18:40:00 <heat> why are you writing javascript
18:40:00 <heat> is something wrong?
18:40:00 <zid> new windows who this
18:40:00 <zid> no compilers
18:41:00 <heat> sounds like the perfect opportunity to install vs2022
18:42:00 <heat> a great opportunity to enjoy the latest cl.exe
18:43:00 <zid> heat: refresh it
18:43:00 <zid> you cockwomble
18:44:00 <zid> Fuck knows how I managed to make *that* pattern by interpolation
18:44:00 <heat> this looks nicer
18:44:00 <heat> what did you change?
18:45:00 <zid> turned interpolation off
18:45:00 <zid> ctx.texParameteri(ctx.TEXTURE_2D, ctx.TEXTURE_MAG_FILTER, ctx.NEAREST);
19:15:00 <heat> mjg, https://godbolt.org/z/bo9jW8Mcz what do we think of this spinlock
19:15:00 <bslsk05> godbolt.org: Compiler Explorer
19:16:00 <heat> i think it's pretty optimal
19:17:00 <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)
19:17:00 <mjg> have you read the mcs paper
19:17:00 <heat> maybe I could add an unlikely to the first test?
19:17:00 <heat> no, I don't care about mcs right now
19:17:00 <mjg> i told you the paper describes numerous locking strategies
19:17:00 <heat> also AIUI it's not really optimal for low CPU configurations
19:18:00 <mjg> i'm not saying you need to imlpement the mcs spinlock
19:18:00 <heat> i just want to know if this lock unsucks
19:18:00 <mjg> i am saying the above is bare minimum not-totally-dogshit, which you would know if you read the paper
19:18:00 <mjg> also mofo
19:18:00 <mjg> do { cpu_relax(); } while (....);
19:19:00 <heat> ah okay good catch
19:19:00 <mjg> i tolerate numcpu for debugging purposes
19:19:00 <mjg> otherwise you would just slap '1' in there
19:19:00 <mjg> with that in mind
19:19:00 * mjg rolls dice
19:19:00 <heat> numcpu is totally free-ish
19:19:00 <mjg> > you suck
19:19:00 <mjg> i'm sorry
19:20:00 <mjg> but congrats mate, i think that's better than what openbsd is doing
19:20:00 <mjg> :=]
19:20:00 <mjg> unless they fixed their stuff
19:20:00 <mjg> they had a a de facto cmpxchg loop, no pause()
19:20:00 <mjg> but it was obfuscated
19:20:00 <heat> what's the bsd spinlock?
19:20:00 <mjg> the freebsd is not good
19:20:00 <mjg> it is backoff
19:21:00 <mjg> it needs to be mcs or clh, but enotime
19:22:00 <heat> haha
19:23:00 <mjg> it is better than yours if that's what you are after
19:23:00 <mjg> :]
19:23:00 <mjg> a geezer call was made to support lock recursion everywhere
19:23:00 <mjg> this needs to be whacked first
19:23:00 <heat> why is it?
19:23:00 <mjg> tread the fucking mcs paper
19:24:00 <mjg> s/t//
19:31:00 <heat> i think openbsd does not have spinlocks anymore
19:31:00 <heat> they're on the adaptive mutex koolaid like the rest of the BSDs
19:34:00 <mjg> everyone has spinlocks
19:34:00 <mjg> however, the *default* is indeed a lock which can go off cpu
19:35:00 <mjg> note this is mostly cargo-culted from solaris
19:35:00 <mjg> no joke
19:36:00 <heat> i think linux is also trending towards that honestly
19:36:00 <heat> because spinlocks suck for RT
19:37:00 <heat> <mjg> everyone has spinlocks <-- I had a look and I can't corroborate this for OpenBSD
19:37:00 <geist> perhaps they call it something else
19:37:00 <geist> some sort of adaptive mutex without blocking
19:38:00 <heat> neither does Net? https://man.netbsd.org/locking.9
19:38:00 <bslsk05> man.netbsd.org: locking(9) - NetBSD Manual Pages
19:38:00 <heat> ah, NetBSD has a type of mutexes called spin mutexes (see mutex(9))
19:40:00 <heat> oh man they have a whole pthreads-like customizable mutex system?
19:42:00 <mjg> i made a point to not look at openbsd
19:42:00 <mjg> but consdier the following: whatever lock is used to protect the list of threads put off cpu while waiting on the particular lock
19:42:00 <mjg> what do yu think it is locked by
19:42:00 <mjg> it is going to be a spinlock
19:42:00 <mjg> and there you are going to get the name
19:43:00 <mjg> it possibly rolls with "IPL" which is an outdated concept of managing "locking", which also disbles interrupts
19:44:00 <mjg> also check hteir scheduler lock
19:44:00 <mjg> it once more has to be a spinlock of some sort
19:44:00 <mjg> you literally can't go off cpu ;x
19:44:00 <heat> netbsd seems to have good locks, the fast path is even asm
19:44:00 <heat> also with exponential backoff though
19:44:00 <mjg> i know what' they do, it is crap
19:44:00 <mjg> i do concede general idea of asm fast path is ok though
19:45:00 <mjg> it is mostly the slowpath which is terrible
19:45:00 <mjg> i told them but got a lol rewsponse, so fuck em
19:45:00 <heat> what part of the slow path sucks?
19:46:00 <mjg> https://marc.info/?l=netbsd-tech-kern&m=151548500413412&w=2
19:46:00 <bslsk05> marc.info: 'mutex vs turnstile' - MARC
19:46:00 <mjg> for example
19:46:00 <mjg> Note that the lock apart from being free, can be:
19:46:00 <mjg> 1. owned by the same owner, which is now running
19:46:00 <mjg> In this case the bit is set spuriously and triggers slow path
19:46:00 <mjg> unlock.
19:47:00 <mjg> >
19:47:00 <mjg> it sets the waiters bit regardless *who* owns the lock (or whether they
19:47:00 <mjg> are running), but then only goes to sleep if the *original* owner has
19:47:00 <mjg> Fun fact is that implementation on Illumos behaves worse in this regard:
19:47:00 <mjg> the lock.
19:47:00 <mjg> ouch another stab at SOLARIS
19:47:00 <mjg> fucking guy, i swear
19:48:00 <mjg> that and their backoff has dogshit parameters
19:48:00 <mjg> basically ok for a 8 core box
19:48:00 <mjg> it was all set around 2009
19:49:00 <heat> i don't remember what a turnstile is
19:49:00 <mjg> consdier it a spinlock for the off cpu list
19:50:00 <mjg> it is moer than that, but conceptually it is sufficient for the issue at hand
19:50:00 <mjg> their rw locks are ven worse, but cna't be arsed to describe why
19:50:00 <mjg> exercise for the reader
19:50:00 <geist> okay, lets simmer down again please
19:50:00 <mjg> geist: on it :0
19:51:00 <mjg> > 20:50 < mjg> exercise for the reader
19:51:00 <heat> fyi openbsd does not have spinlocks
19:51:00 <mjg> does not matter how they call it, they definitely have something which only spins and never goes off cpu
19:51:00 <heat> it has a weird ticket spinlock system for the scheduler and a "kernel_lock"
19:51:00 <mjg> and they have to use to protect off cpu machinery
19:51:00 <mjg> use it*
19:52:00 <mjg> perhaps you are conflating not defaulting to spin locking [a'la linux] with not having spinlocks
19:52:00 <heat> this is very very special purpose
19:52:00 <mjg> in that tune, freebsd does not have spinlocks either
19:52:00 <heat> <mjg> perhaps you are conflating not defaulting to spin locking [a'la linux] with not having spinlocks <-- and is that a bad idea?
19:52:00 <mjg> the go to primitive is a lock which can go off cpu for a bounded period
19:53:00 <mjg> that is a very complicaetd subject mate, with a short: depends
19:53:00 <heat> all of disabling IRQs and preemption sucks for RT
19:53:00 <mjg> that's true
19:53:00 <mjg> but not everything is RT
19:53:00 <mjg> and in fact most is not
19:53:00 <heat> yes
19:53:00 <mjg> part of 'depends'
19:54:00 <mjg> look i have to go afk soon(tm)
19:54:00 <mjg> wanna flame, we can try monday or if you catch me over the weekend
19:54:00 <mjg> but only if you read the mcs paper
19:54:00 <heat> but I think linux is shifting towards CONFIG_RT-capability
19:54:00 <heat> this is not flaming, I'm learning
19:54:00 <heat> we're exchanging ideas
19:55:00 <mjg> i'm polish
19:55:00 <mjg> words with negative meaning used in place of their neutral counterparts are par the curse
20:02:00 <heat> i'm more or less content with the "raw" spinlock I have
20:02:00 <heat> I guess this generates bad code on arm though
20:21:00 <mrvn> heat: disabling IRQs just have to be bount for RT and I don't see how you could do RT without preemption
20:22:00 <mrvn> cooperative multitasking can never be RT
20:23:00 <mrvn> (assuming bad actors)
20:26:00 <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.
20:33:00 <dzwdz> hello
21:38:00 <pog> hi
22:10:00 <gorgonical> Evening everyone
22:12:00 <pog> howdy
22:12:00 <sham1> Evening
22:12:00 * pog slides a shot glass of brennavin to gorgonical
22:13:00 <dzwdz> \o
22:13:00 <gorgonical> Who are you pog and what have you done with gog
22:13:00 <lav> \:3/
22:13:00 <lav> gogonical :o
22:13:00 <gorgonical> Or do we somehow have two icelanders in this channel with similar names
22:13:00 <pog> she's safe
22:13:00 <pog> for now
22:14:00 <pog> (also i'm not an icelander)
22:14:00 <gorgonical> I remember
22:14:00 <pog> ég er frá bandaríkunum
22:14:00 <pog> :P
22:14:00 <gorgonical> I would never have guessed that's the US
22:15:00 <gorgonical> "tied states"
22:15:00 <pog> yes
22:15:00 <gorgonical> neat
22:16:00 <dzwdz> so how are your operations going
22:16:00 <dzwdz> on the systems
22:16:00 <pog> not great
22:16:00 <gorgonical> arm64 is dumb and I hate it
22:16:00 <lav> yhdysvallat :p
22:16:00 <pog> also i can
22:16:00 <gorgonical> perkele
22:16:00 <sham1> Amerikan* Yhdysvallat
22:17:00 <pog> can't really focus
22:17:00 <lav> Operating system? Sure isn't!
22:17:00 <gorgonical> I have studied some Finnish and I really liked how systematic and reasonable it felt
22:18:00 <sham1> And then come the dialects and suddenly the grammar gets thrown to hell. Thanks Savonia
22:18:00 <gorgonical> And the spoken/written dichotomy. y tho
22:18:00 <lav> To be fair, going to Savonia is your own fault...
22:20:00 <gorgonical> How many hours do I have to spend in my sauna to get Finnish citizenship?
22:20:00 <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
22:20:00 <gorgonical> I'm willing to move to even Lapland if that makes it easier
22:34:00 <heat> pog pog pog pog pog
22:34:00 <pog> heat ehat heat eheat
22:34:00 <heat> bazunga
22:34:00 <pog> *laugh track
22:34:00 <pog> *overlaid laugh track of increasing volume*
22:35:00 <pog> *laugh track too loud for speakers distorting and clipping*
22:35:00 <pog> *laugh track is now in your mind*
22:35:00 <heat> *we have become laugh track*
22:35:00 <lav> mewo
23:12:00 <sham1> cat
23:22:00 <heat> ls
23:23:00 <lav> htop
23:30:00 <klys> ls -ltac
23:32:00 <sham1> grep
23:40:00 <nikolar> clear
23:41:00 * lav disappears off the screen
23:41:00 <bnchs> clear
23:41:00 <bnchs> wait.. *cough cough*
23:41:00 <bnchs> CLEAR!!
23:42:00 <klys> cls
23:42:00 * bnchs zaps nikolar's chest
23:42:00 <nikolar> Did i win
23:43:00 <klys> ^L
23:53:00 * moon-child pets sham1
23:53:00 <heat> ooh ^L is a cute trick
23:54:00 <moon-child> form feed
23:58:00 <mjg> wait till you learn to 'reset'... and that it does not always work :X