<bslsk05>
'I am Borg' by MyRandomUploads (00:00:21)
freakazoid12345 has joined #osdev
gog has quit []
gog has joined #osdev
Retr0id has joined #osdev
vdamewood has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
vdamewood has joined #osdev
cooligans has joined #osdev
cooligans has quit [Remote host closed the connection]
kingoffrance has quit [Ping timeout: 268 seconds]
srjek_ has joined #osdev
srjek|home has quit [Ping timeout: 264 seconds]
<rustyy>
geist: so, to avoid cache line bouncing between multiple cores and especially between numa nodes where cache line bouncing is much more expensive, instead of having only one global spinlock variable, you also introduce local copies of that spinlock, so that every cpu spins on the local variable while trying to lock the spinlock and thus avoids cache line bouncing. and the implementation is that global
<rustyy>
spinlock, now, instead of having only 0 and 1 value also has an address/tail pointer in it, in its higher bits. and that address/tail ptr points to a last element (local spinlock variable) in the linked list, that list represents a queue of cpus trying to get that lock, the head of that list is the current owner of the spinlock. every time a new cpu wants to take a spinlock, it swaps the value/upper bits in
<rustyy>
global lock, and updates old tail pointer "next" to itself. and so when any given cpu releases the lock it notifies only the next cpu that lock is available, booyakasha! =)
Vercas has quit [Remote host closed the connection]
<geist>
rustyy: nice. yeah was curious where you learned it from
Burgundy has joined #osdev
vdamewood has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
givemeyourpies has joined #osdev
ZetItUp_ is now known as ZetItUp
catern has quit [Ping timeout: 264 seconds]
srjek_ has quit [Ping timeout: 264 seconds]
sm2n has quit [Quit: Leaving]
jjuran has quit [Ping timeout: 256 seconds]
sm2n has joined #osdev
Burgundy has quit [Remote host closed the connection]
jjuran has joined #osdev
Oli has quit [Quit: leaving]
sdfgsdfg has joined #osdev
catern has joined #osdev
m3a has quit [Quit: leaving]
xenos1984 has quit [Quit: Leaving.]
mxshift has quit [Ping timeout: 268 seconds]
mxshift has joined #osdev
gog has quit [Quit: byee]
xenos1984 has joined #osdev
xenos1984 has quit [Remote host closed the connection]
gog has joined #osdev
kuler has quit [Remote host closed the connection]
xenos1984 has joined #osdev
givemeyourpies has quit [Quit: Going offline, see ya! (www.adiirc.com)]
opios2 has joined #osdev
xenos1984 has quit [Quit: Leaving.]
sdfgsdfg has quit [Quit: ZzzZ]
xenos1984 has joined #osdev
<klange>
f*** it, I'm writing a POSIX shell in Kuroko, try to stop me
<kazinsal>
doooo iiiiit
<gog>
nice
<auronandace>
my you have great success
<auronandace>
may
<klange>
it's mostly string manipulation, right? the actually "running stuff" bit is secondary~
<zid>
process scripts, prepare execve calls, ???, crash
<kazinsal>
some magic job control stuff if you dare
<gog>
crash on ctrl-z
<gog>
job handled
<klange>
My current shell supports job control, but ooh boy is it throwing shit at the wall and seeing what sticks
<klange>
actually the only reason I feel remotely confident in doing this in kuroko is because I already did the "running stuff" part and I really need to focus on the "string manipulation" part.
<bauen1>
it's always fun to watch somebody slowly decent into madness when trying to implement POSIX ...
<gog>
fuck it, POSEVEN
<gog>
i'm putting on my programming socks
<kazinsal>
the POSIX standard is succeeded by POSX, itself succeeded by POSXI
<gog>
that's a technically funnier joke than mine
sdfgsdfg has joined #osdev
mxshift has quit [Ping timeout: 245 seconds]
SanchayanMaity has quit [Ping timeout: 264 seconds]
<moon-child>
programming socks!
bauen1 has quit [Ping timeout: 245 seconds]
SanchayanMaity has joined #osdev
<gog>
yes
mxshift has joined #osdev
GeDaMo has joined #osdev
<FireFly>
they good
<gog>
oh hey i know you
<gog>
:3
<zid>
I hate socks
<moon-child>
well
<moon-child>
I hate you
<zid>
they either fall down, or make my legs hurt
<gog>
harsh
<gog>
have you tried a garter belt?
<zid>
I could just wax my legs I guess
<moon-child>
stockings!
<FireFly>
gog: :p
EtherNet has quit [Ping timeout: 260 seconds]
EtherNet has joined #osdev
sdfgsdfg has quit [Quit: ZzzZ]
Brnocrist has joined #osdev
bauen1 has joined #osdev
bauen1 has quit [Ping timeout: 256 seconds]
Vercas has quit [Remote host closed the connection]
Vercas4 has joined #osdev
bauen1 has joined #osdev
sdfgsdfg has joined #osdev
Vercas4 has quit [Remote host closed the connection]
Vercas has joined #osdev
bauen1 has quit [Ping timeout: 264 seconds]
bauen1 has joined #osdev
dennis95 has joined #osdev
bauen1 has quit [Ping timeout: 245 seconds]
bauen1 has joined #osdev
sdfgsdfg has quit [Quit: ZzzZ]
PraiseIdleness has joined #osdev
bauen1 has quit [Ping timeout: 256 seconds]
bauen1 has joined #osdev
lleo has joined #osdev
bauen1 has quit [Ping timeout: 260 seconds]
bauen1 has joined #osdev
nyah has joined #osdev
lleo has quit [Ping timeout: 264 seconds]
bauen1 has quit [Ping timeout: 245 seconds]
bauen1 has joined #osdev
[itchyjunk] has joined #osdev
PraiseIdleness has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
kaichiuchu has quit [Quit: leaving]
kaichiuchu has joined #osdev
PraiseIdleness has joined #osdev
sonny has joined #osdev
dude12312414 has joined #osdev
PraiseIdleness has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ornxka has joined #osdev
<ornxka>
im riscv64 in qemu
<ornxka>
i set bit 7 of the mie and interrupts are enabled globally and i wrote to the mtimecmp register, but i dont get my interrupt..
<ornxka>
i get other interrupts, and i loop until mtime >= mtimecmp, so i know at some point point mtime > mtimecmp, but i never get an actual interrupt for it
<ornxka>
any ideas?
gog` has joined #osdev
gog` has quit [Client Quit]
PraiseIdleness has joined #osdev
<Piraty>
klange: better join landley for his toybox shell applet ;)
<klange>
boots to gui, all eight (eh, four with two threads each?) cores started, can talk to the xhci controller, just... need a driver for it, and will probably need to figure out some IRQ stuff because my love for the legacy PIC likely comes to an end here
<gog>
nice
<kazinsal>
I'm guessing there's some horrid AML bytecode system for figuring out which processors are SMT pairs
<kazinsal>
for your own sanity re: IRQs I'd recommend just skipping the IOAPIC and going straight to MSI/MSI-X because modern hardware should support it no problem