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
papaya has joined #osdev
SpikeHeron has quit [Quit: WeeChat 3.0]
SpikeHeron has joined #osdev
<heat> built lk under Onyx
<heat> i'm still lacking something for -j N to work in make, but the rest Just Works(tm)
<mjg> wdym it does not work
<mjg> rolls with 1 worker no matter what or just craps out
<heat> hangs
<heat> when I dump threads I can see a make stuck in pselect and two makes stuck in wait4
<mjg> oh that's gmake, right
<heat> it's IMO plausible I'm missing something pipe related (I think gnu make uses pipes for job control?)
<mjg> it does
<mjg> there is one master pipe (i don't know how they call it)
<mjg> but i woudl also expect pselect to be called with a timeout
<mjg> lemme check what make is doing
<mjg> heh no timeout
<mjg> i would defo check for racy wakeups
<mjg> also you probably want to make sure you wake up everyone a'la thundering heard
<mjg> and not just one sucker
<mjg> chances are excellent gmake is depending on it
<mjg> in pipe code i mean
<heat> i'm already thundering herding
<mjg> it will be 150$ anyway
<heat> i also found a weird bug in my vfork where make got pid = 0 for children, but if I silently switch the vfork implementation for fork, it works
<mjg> are you sure going off cpu in select properly interlocks against wakeups?
<mjg> as in do you hold pipe_lock while doing so
<heat> are you aware of linux poll internals?
<heat> that's basically how I do it
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
<mjg> no
xenos1984 has quit [Read error: Connection reset by peer]
<mjg> it's a shit area i try to avoid :-P
<heat> sys_select/poll build a table of file *, I call ->poll on each file, inside ->poll I hold the object's internal locks and check if I can read/write/hup/wtv, if not, I queue myself on the wait queue
<heat> after checking every file, if none was available, I just block
<mjg> well that's how bsds do it
<heat> omg we've got sooo much in common twiiiiiiiiins
<mjg> besties
xenos1984 has joined #osdev
<geist> Awww such wud
<geist> Wuv damn autorcorrecting client
<heat> ok i fixed it I think
<heat> make pc-x86-64-test -j4 works
<heat> real 9.94s user 11.6s sys 8.1s
<heat> this looks horribly inefficent but I'll take it lol
<heat> geist, also shame on you for not telling me build with a non-prefixed toolchain!
<geist> Oh?
<heat> TOOLCHAIN_PREFIX= just uses the default of x86_64-elf-
<mjg> what was the bug?
<heat> mjg, I wasn't checking for signals in the middle of thread->state = THREAD_INTERRUPTIBLE; and sched_yield();
<mjg> signals
<heat> i'm not entirely convinced it's 100% correct but...
<mjg> another fucking unix crapper
<geist> Now now you can be nicer mjg
<mjg> another unix crapper
<geist> We dont rip on each other’s designs just because they’re Unix
<heat> lmao
<geist> Says someone that works on Unix
<mjg> which enables me to say it
<mjg> :->
<geist> We are all nice here and dont judge just because it’s Unix
<heat> it's not Unix
<heat> it's UNIX(tm)(R)(c)
<heat> get it right!
<mjg> Solaris or gtfo
<geist> NOW WERE COOKING WITH UNIX
<heat> D O O R S
<heat> O
<heat> O
<heat> R
<heat> S
<geist> Move over bacon, here comes UNIX
<geist> I’m using UNIX right here
<geist> While drinking a beer. Beer + UNIX == asdfasdfasdf
<heat> geist, when are you switching to Onyx now that I have everything you'll ever want?
<mjg> take some lsd and you will be ready add some unix concepts
<kazinsal> Beer + Unix = "how hard could porting to $randomplatform be, anyways..."
<geist> DOOORS
<mjg> heat: have you ever tried building netbsd? kind of serious question, their build.sh support cross compilation from a number of systems
<geist> UNIX
<mjg> heat: and modulo fixups to the script you might need it is probably a decent test
<heat> take some lsd and write some 4.4bsd code
<geist> You ever tried building netbsd for SPARC on a VAX?
<geist> I have. (It wasn’t pretty)
<kazinsal> PAIN
<mjg> :))
<heat> mjg, nope
<mjg> do you time 'time'?
<mjg> do you have 'time'?
<heat> quite a big of a jump from lk -> netbsd
<mjg> i don't know where you stand in your system
<geist> Yah this microvax runs netbsd so slow you want to time time
<mjg> :))
kof123 has joined #osdev
<mjg> have you benched an older release?
<mjg> notably pre-netbsd 5
<geist> Yah, running netbsd 3.1 actually iirc
<heat> right now things mostly work except when they dont and real filesystem support is iffy
<mjg> *that* was dog slow?
<geist> It’s about the last one I’d actually feel like running on it
<mjg> oh man
<geist> Yes.
<kazinsal> Hmm. Does it still count as reimplementing Fourth Edition if your filesystem layout doesn't match the manual (because the one in the manual is REALLY janky)
<heat> NO
<heat> janky filesystem or bust
<mjg> kazinsal: WHAT DO YOU MEAN JANKY
<geist> I think netbsd about 3.1 is a good vintage. Reasonably modern but some chance of running on ancient hardware
<geist> This microvax is about slow 486 territory, so yeah
<mjg> geist: well you made me curious how post-5 is doing then, provided it even boots
<geist> Well, i dont think it’s because the kernel is a bloated POS or so, but i think in general user space tools and binaries got bigger and slower, and on ancient hardware (say 25mhz 486 territory) the extra weight starts to add up
<geist> Compilers now take 10x as long, even the shell is slower, etc
<geist> It’s what happens when regular old software just picks up 10 years of extra features and cruft
<geist> And the hardware doesn’t
<mjg> well the old netbsd kept claiming to viable on this old yellers
<mjg> to be*
<mjg> these
<geist> It is, technically, but it doesn’t mean it’s a pleasant experience
<mjg> kind of boots and does not outright crash is not viable
<geist> Like, you press a key and now the fact that the shell is N times larger means it blows the L1 cache 100x
<geist> That kinda stuff
<mjg> :)
<geist> I think you get some sort of cascading effect when even regular plain software gets larger and exceeds the total cpu cache
<kazinsal> Yeah I think my MicroVAX takes about 10 minutes to boot netbsd
<geist> it starts to fall off a performance cliff
<kazinsal> It's not great
<heat> lmao
<mjg> kazinsal: which version
<geist> So you get these old machines that have say 4K of L1 cache total you start to feel it hard
<geist> Even this old Sparcstation 20 with dual Supersparc 85Mhz starts to feel it
<geist> I think each has like 16K cache?
<mjg> i was trying to go the other way at some point: build a super old freebsd release on top notch hardware while running the current kernel
<mjg> turns out it is turbo single-threaded
<mjg> big shocker :->
<geist> Yah sometimes you hit some threshold where like the old IDE driver cant handle modern hardware or whatnot
<heat> i've repeatedly tried to build old ass bsd's but it never works out
<geist> I thought i remember hitting some bug somewhere where some old driver expected the hardware to take some N cycles to respond, and modern versions are instant
<heat> but bmake still works! it's neat
<geist> Oh i have a VM I keep around of FreeBSD, netbsd, and openbsd
<geist> If nothing else so i can log in and read their man pages
<mjg> that's your kink?
<geist> Used to keep Solaris but it blew up
<mjg> get omnios :->
<heat> d o o r s
<geist> mjg: this is news?
<geist> I also have a machine running OS/8 and RSX-11
<heat> all those unixes are shit
<mjg> nice
<geist> Mmmmm RSX-11 that’s some … oooohyeah
<heat> get a system v release
* geist gets a room
<heat> unleash the power of STREAMS
<geist> Hah i do have a pdp11 emulator with BSD 2.11
<mjg> i had a vax emulator with 4.3 or so
<mjg> there was a bundle for windows :)
<geist> Yeah that is really what i should set down some day and load up on the microvax instead of netbsd
<mjg> was functional enough to telnet out of it back to my laptop
<geist> but last time i tried to start the Vax it had died because for some reason it refused to talk to the scsi2sd adaptor i had in it
<mjg> i sshed from there and screen worked!
<geist> i fiddled with it for a few hours and gave up. Dunno what happened
<mjg> what about that sparc station? is that the dead solaris?
<geist> Nah that has a netbsd on it too
<geist> It’s kinda usable, but i dont like to run it that much, burns too much power
<geist> It’s a BiCMOS machine, burns a solid 100W iirc
<geist> Like, doesn’t stop, always burns it
<heat> is it warm?
<mjg> there was a guy who at least until 2019 qwas using sparcstation + netbsd as a daily driver
<geist> Maybe more than that, i forgot. I kilowatts it
<mjg> i don't know what happened past that
<geist> Yeah the SS20s were notorious for overheating
<heat> great, daily drive it in the winter
<geist> Especially the dual cpu versions, since the cpus were really packed in tight
<geist> Apparently there was a rare quad cpu version but basically you needed to upgrade the cooling if you did
<geist> In the mid 2000s i used to run a sparcstation 2 + openbsd as a mail server
<heat> how slow would fuchsia be on those old machines?
<geist> Figured why not, hack this!
<geist> Well wouldn’t boot for starters
<mjg> let's say it would
<geist> Kinda wish I kept that SS2. Dunno why I got rid of it
Iris_Persephone has quit [Ping timeout: 252 seconds]
<mjg> i take it given the microekrnel design it's basically a lost cause to wait for it to finish booting
<geist> It was in retrospect a rare one. Actually not a sun box
<geist> Was a Hyundai
<geist> I looked it up later. Something like a Axiom machine or something like that made by Hyundai
<geist> But i do also have a sparcstation LX. Cute lunchbox. Slow as hell. Fun to use
<heat> i already know the answer
<mjg> you understand you are being beaten by openbsd right now
<mjg> 50% sys when building stuff with a handful of cores is right up their alley
<mjg> well it is less now
<heat> yeah i'll need to look into it
<heat> but my scheduler is also shit so
<mjg> well then you have something in common
<heat> my os has lots of things in common
<heat> with openbsd
<mjg> do you have theo
<heat> both shit, both slow, both developed by a single egotistical maniac
<mjg> obsd is developed by multiple... people
<heat> i'll need proof of that
<mjg> memes aside, they do have an ok-ish team size-wise
<geist> Snake people
<mjg> or at least did 3 years ago
<geist> SNAKE PEOPLE
<heat> the bsds aren't real
<heat> wake up sheeple
<mjg> reptilians
<mjg> only Solaris is real
<geist> QNX or STFU
<mjg> i'm not familiar with the latter
<geist> Actually a fun one i remember using in college for a real time class: LynxOS
<geist> Still apparently exists
<geist> It’s posix
<mjg> > Lynx has been developing innovative software platforms for over 30 years. Some employees that have been here for one year, others for more than 45 years.
<heat> more than 45 years??
<mjg> 15 years of not developing an innovative software platform though
<heat> that beats intel's employee retention!
* mjg signs off, this is too much
<geist> Me too, the trivia night is getting too noisy here
gog has quit [Ping timeout: 268 seconds]
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
terrorjack has joined #osdev
gxt has quit [Ping timeout: 258 seconds]
[itchyjunk] has quit [Remote host closed the connection]
gxt has joined #osdev
rpnx has quit [Remote host closed the connection]
srjek has quit [Ping timeout: 244 seconds]
rpnx has joined #osdev
heat has quit [Ping timeout: 260 seconds]
Iris_Persephone has joined #osdev
dasabhi has joined #osdev
<dasabhi> hi, i have been struggling with some poll() and sysfs_notify code for a while
<dasabhi> and had to ask for help here
<dasabhi> i have a working kernel module with sys_notify(), but my userspace code with poll() doesnt actuall poll, it completes instantly
<dasabhi> actually*
<dasabhi> my kernel module has sys_notify commented out, and i am setting the events flag to POLLPRI | POLLERR
<dasabhi> but still nothing works
<dasabhi> any one mess around with poll function here?
Persephone has joined #osdev
<geist> not sure i completely understand the context here
Iris_Persephone has quit [Ping timeout: 246 seconds]
<Mutabah> I think they're referring to a linux kernel module that's exposing a file/file-like that they're calling `poll` against?
<Mutabah> dasabhi: is that correct?
<dasabhi> yes thats right
<dasabhi> kernel exposing a kobject
scoobydoo_ has joined #osdev
<dasabhi> kernel module*
<dasabhi> kernel module has to use sys_notify to release uerspace poll() calls on said kbojects
<dasabhi> the kobjects are files within /sys
scoobydoo has quit [Ping timeout: 265 seconds]
<dasabhi> part of sysfs
scoobydoo_ is now known as scoobydoo
<Griwes> you'll probably have more luck with this question on a linux kernel dev specific channel
<dasabhi> Griwes: are they on irc?
<dasabhi> i wasn't able to find an irc for that
<Griwes> no idea. just pointing out that this isn't really a linux kernel dev channel, and finding one that is is going to be more generally helpful to you when asking specifically about linux' internals
<dasabhi> yeah i understand
Iris_Persephone has joined #osdev
Persephone has quit [Ping timeout: 265 seconds]
nexalam_ has joined #osdev
nexalam__ has quit [Ping timeout: 260 seconds]
Vercas6 has quit [Quit: Ping timeout (120 seconds)]
<dasabhi> so turns out, poll needs the file to be marked read
<dasabhi> before it can work properly lol
Vercas6 has joined #osdev
dasabhi has quit [Quit: Lost terminal]
Vercas6 has quit [Quit: Ping timeout (120 seconds)]
scoobydoo has quit [Ping timeout: 252 seconds]
scoobydoo has joined #osdev
papaya has quit [Quit: leaving]
<Iris_Persephone> All the roads that looking into OSdev brings you down are so interesting
Persephone has joined #osdev
Iris_Persephone has quit [Ping timeout: 246 seconds]
Persephone is now known as Iris_Persephone
jjuran has quit [Read error: Connection reset by peer]
jjuran has joined #osdev
CYKS has quit [Quit: Ping timeout (120 seconds)]
CYKS has joined #osdev
elastic_dog has quit [Ping timeout: 264 seconds]
elastic_dog has joined #osdev
elastic_dog has quit [Client Quit]
elastic_dog has joined #osdev
Persephone has joined #osdev
Iris_Persephone has quit [Ping timeout: 252 seconds]
Persephone has quit [Ping timeout: 268 seconds]
jjuran has quit [Quit: Killing Colloquy first, before it kills me…]
jjuran has joined #osdev
saltd has joined #osdev
gog has joined #osdev
gog has quit [Client Quit]
gxt has quit [Ping timeout: 258 seconds]
gxt has joined #osdev
GeDaMo has joined #osdev
heat has joined #osdev
pretty_dumm_guy has joined #osdev
[itchyjunk] has joined #osdev
saltd has quit [Remote host closed the connection]
saltd has joined #osdev
opal has quit [Remote host closed the connection]
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
alpha2023 has quit [Read error: Connection reset by peer]
alpha2023 has joined #osdev
opal has joined #osdev
saltd has quit [Remote host closed the connection]
vdamewood has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
saltd has joined #osdev
heat_ has joined #osdev
heat has quit [Ping timeout: 250 seconds]
gxt has quit [Remote host closed the connection]
gxt has joined #osdev
saltd has quit [Remote host closed the connection]
opal has quit [Ping timeout: 258 seconds]
opal has joined #osdev
srjek has joined #osdev
zid has quit [Ping timeout: 265 seconds]
zid has joined #osdev
zid has quit []
zid has joined #osdev
<zid> I got bored, played with my cpu a little. Apparently 0.8V is stable, heh.
opal has quit [Ping timeout: 258 seconds]
FreeFull has joined #osdev
bgs has joined #osdev
opal has joined #osdev
scoobydoo_ has joined #osdev
scoobydoo has quit [Ping timeout: 265 seconds]
scoobydoo_ is now known as scoobydoo
scoobydoo_ has joined #osdev
saltd has joined #osdev
scoobydoo has quit [Ping timeout: 264 seconds]
scoobydoo_ is now known as scoobydoo
saltd has quit [Remote host closed the connection]
saltd has joined #osdev
eroux has quit [Ping timeout: 260 seconds]
eroux has joined #osdev
eroux_ has joined #osdev
eroux has quit [Ping timeout: 264 seconds]
xenos1984 has quit [Ping timeout: 260 seconds]
saltd has quit [Remote host closed the connection]
xenos1984 has joined #osdev
FreeFull has quit [Ping timeout: 246 seconds]
xenos1984 has quit [Ping timeout: 250 seconds]
lkurusa has quit [Quit: I probably fell asleep (or went out). Who will ever know.]
gxt has quit [Ping timeout: 258 seconds]
gxt has joined #osdev
bgs has quit [Remote host closed the connection]
dude12312414 has joined #osdev
xenos1984 has joined #osdev
gildasio has quit [Quit: WeeChat 3.6]
gildasio has joined #osdev
saltd has joined #osdev
catern has quit [Ping timeout: 244 seconds]
Matt|home has joined #osdev
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
catern has joined #osdev
saltd has quit [Remote host closed the connection]
gildasio has quit [Ping timeout: 258 seconds]
saltd has joined #osdev
GeDaMo has quit [Quit: Physics -> Chemistry -> Biology -> Intelligence -> ???]
gog has joined #osdev
frkazoid333 has joined #osdev
pretty_dumm_guy has quit [Quit: WeeChat 3.5]
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
saltd has quit [Remote host closed the connection]
scaleww has joined #osdev
carbonfiber has joined #osdev
gildasio has joined #osdev
saltd has joined #osdev
vdamewood has joined #osdev
saltd has quit [Remote host closed the connection]
heat_ has quit [Remote host closed the connection]
saltd has joined #osdev
heat has joined #osdev
heat_ has joined #osdev
heat has quit [Read error: Connection reset by peer]
troseman has quit [Remote host closed the connection]
carbonfiber has quit [Quit: Connection closed for inactivity]
[itchyjunk] has quit [Ping timeout: 244 seconds]
troseman has joined #osdev
troseman has quit [Read error: Connection reset by peer]
[itchyjunk] has joined #osdev
troseman has joined #osdev
divine has quit [Ping timeout: 264 seconds]
scaleww has quit [Quit: Leaving]
divine has joined #osdev
divine has quit [Ping timeout: 260 seconds]