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
<mjg> 2850 files changed, 204543 insertions(+), 124715 deletions(-)
<mjg> i got 1 commit :D
<heat_> heat> mjg, it's far more rewarding to build your own thing than finding a small niche on a huge ass pond
heat has quit [Read error: Connection reset by peer]
<mjg> fair
thinkpol has quit [Remote host closed the connection]
<mjg> here are stats for onyx on the master branch
<mjg> 20 files changed, 222 insertions(+), 109 deletions(-)
<nikolapdp> mjg what's your single commit
<mjg> 2 authors
<mjg> nikolapdp: a bugfix for something i screwed up years ago
thinkpol has joined #osdev
<mjg> pretty mundane
heat_ is now known as heat
<heat> mjg, you'd need to take other branchen into account
<heat> linux-next isn't master :(
<nikolapdp> lol what did you screw up
<mjg> nothin'
<mjg> heat: what
<mjg> bro
<heat> what bro what
<mjg> i'm trying to check howm uch work is in flight
<mjg> ye?
<mjg> v6.9..master is a different question
<heat> <mjg> here are stats for onyx on the master branch
<heat> this is silly then?
<mjg> i'm pretty sure comparing onyx to linux is a joke
<mjg> but ok
<mjg> v6.9..master 12213 files changed, 483649 insertions(+), 250761 deletions(-)
<mjg> 1843 authors
<Mondenkind> 10x authors but only 2x lines added
<Mondenkind> freebsd really is 5x developers
<heat> 10x developers are reserved for onyx only
<mjg> Mondenkind: :)
<levitating> mjg I am surprised freebsd is doing so well
<levitating> contribution-wise
<mjg> i would not refer to it as doing well
<mjg> the other 2 also see a lot of traffic
<mjg> the q is what kind of work is being done, and most notably what work is not
<mjg> this is where you see it's people larping or having a hobby
<zid> it's a fun accessable toy project
<mjg> for example there is a dude patching vax support
X-Scale has joined #osdev
<mjg> > Fix SCSI tranfer corruption on VAXstation 3100/m30 (KA420) on netboot.
<mjg> for example
<mjg> great stuff
<mjg> meanwhile netbsd fails to boot on cpus with avx512
<mjg> no wait, it boots on those, it fails to boot on something later
<mjg> cause fpu area is too big
<heat> cope
<heat> -- sent from my vaxstation
josuedhg has quit [Quit: Client closed]
theyneversleep has quit [Remote host closed the connection]
<Mondenkind> why would it fail wouldn't they just not know about avx512 so not turn it on
op has joined #osdev
X-Scale has quit [Quit: Client closed]
op has quit [Remote host closed the connection]
gog has quit [Ping timeout: 255 seconds]
Arthuria has quit [Killed (NickServ (GHOST command used by Guest684531))]
Arthuria has joined #osdev
<mjg> Mondenkind: i said it's something else later
<mjg> Mondenkind: cpu reports bigger fpu area than they support and it panics
<Mondenkind> oh i am illiterate
<Mondenkind> but still like
<Mondenkind> does that mean they added code to enable avx512 bu tnever tested it?
<Mondenkind> or ??
Arthuria has quit [Ping timeout: 268 seconds]
<mjg> they changed nothing for years
<mjg> shit grew on ice lake for some reason
<Mondenkind> oh waht wait what
<mjg> or maybe they query it wrong, idk
<mjg> i do know they panic in that code
<mjg> cause size too big
<mjg> and that things go away if the cpu pretends to be older
<Mondenkind> so it's kinda intel's fault?
<mjg> literally no other system crashes there that i could find
<mjg> including fucking openbsd
<mjg> and illumos
dalme has quit [Remote host closed the connection]
<mjg> so my money is on netbsd fucking up there
nitrix has quit [Quit: ZNC 1.8.2 - https://znc.in]
nitrix has joined #osdev
levitating has quit [Remote host closed the connection]
<geist> i think there's some wonky stuff on some servers with xsave that is hard to debug unless yo uhave access to it
<geist> like, theres addotional xsave stuff that i dont think is on consumer cpus
<geist> also i have a 3100/m30, got a problem?
<geist> also re: "mjg> why are you fucking with a custom kernel instead of contributing to linux"
<geist> i think you may have answered it yourself
goliath has quit [Quit: SIGSEGV]
<mjg> geist: given that i switched to linux, that's a no :)
<mjg> regardless i'm asking other people for their reasons
<geist> the answer is given the attitude you had behind the question, that's precisely why people dont work on linux
<geist> linux is work, dealing with brittle people, and the fact that most folks that work on it get paid to do so. i work on it when i get paid to
<geist> i work on other things that are far more relaxing, interesting, and fun on my spare time
sbalmos has quit [Quit: WeeChat 4.3.0]
<mjg> huh
<mjg> i would argue linux is more than one community, so to speak
<mjg> i don't see anything concerning my "attitude behind the question", but that may be slav roots
<geist> if you're working on linux without getting paid, you're a sucker. you're doing work for big corporations, with sloppy seconds for everyone else
<mjg> that i mostly agree with
sbalmos has joined #osdev
<mjg> well kind of
<geist> wasn't how it always was
<mjg> suppose this is the time you would spend on a side project instead
<heat> early linux was a lot more fun
<geist> and yeah that's a bit of hyperbole, but that's how it is in my line of work at least
<geist> exactly
<mjg> that i agree with
<geist> much as older, simpler, fun os work when the skys the limit
<heat> "hey guys haha implemented swapping, have fun!"
<mjg> as i said it's a code dump now
<geist> and the only real work you can do on linux as an individual contributor is microptimize something and bitch about how everyone else doesn't
<geist> it's because they're moving boulders around and getting paid for it
<geist> and you're moving pebbles just so
<heat> SHOTS FIRED
<mjg> i don't know man
<heat> i mostly agree with the sentiment though
<mjg> i can agree most real work comes with $$ behind it though
<geist> and honestly i hope i'm just stretching things a bit, but honestly i may be more right than i'd like to think
Arthuria has joined #osdev
<heat> i can't think of a single feature i could add to linux (that isn't there yet) *and* is feasible (not a sisyphean effort)
<geist> but possible to find some bug in a kconfig, move tis line here just so, fix some missing thing here when detecting some minor feature, etc
<mjg> so you mean you would like to do something impactful, but for a hobby invovelemnt in linux that's not feasible
<mjg> but you can conciveably do it in your own private project?
<geist> well not so much do something impactful, but getting the dopamine kick for doing interesting things
<geist> that's different from having impact in the world
<geist> may be complete waste of time in terms of having impact, but it's more fun
<geist> and you learn a lot that way
<geist> hich maybe gets you that job later moving boulders around in linux
<geist> not everyone is in for that, but some folks are
<mjg> s/impactful/of note/
<mjg> say folios and maple trees are of note, the world is not any better for it
<mjg> you reminded me of https://xkcd.com/2347/
<bslsk05> ​xkcd - Dependency
<geist> yeah exactly :)
<heat> the world is slightly better for the big corps that have fuckin 80 cpu machines all pounding on some random workload
<geist> yeah i mean exactly, if you're optimizing code for giant machines with huge concurrency you're mostly helping Them than yoy
<mjg> howver, with that attitude you may as well not contribute to vast majority of opensource out there
<geist> indeed, so the second part of the whole why not contribute to linux is it's a brittle, hard to deal with community
<mjg> general point being, if you have some cycles you want to put into something just for kicks, i don't think linux is automatically disqualified
<geist> vs lots of other open source projects were folks are much more open and fun to be around
<mjg> and if you like messing with systems...
<heat> i would like to note that kernel people are generally hard to deal with
<geist> indeed
<mjg> fuck you, i'm delightful
<heat> hahahaha
<geist> it's something we deal with at work actually quite actively, even within the fuchsia team we (the kernel team) try hard to be open and not appaear as aloof folks
<geist> and partially it's because folks *assume* kernel people are hard to deal with and scary
<mjg> no matter what you do someone is going to claim you are an asshole tho
<geist> it's surprising how much that sentiment is implicit
<geist> not true, you can prove to people you're not an asshole by not being one
<geist> but you have to interact with them
<heat> i don't think it's surprising, it's quite logic
<mjg> trivial example
<Mondenkind> i wanna be hard to deal with and scary🥺
<heat> maybe not in corporate circles, but e.g out of all the open source kernels out there
<mjg> you thank them for the patch and offer constructive feedback
<mjg> with all the softy language
<heat> maybe the one you're least likely to be called an obnoxious cunt plonk is netbsd?
<mjg> is that an asshole thing?
<mjg> you are going to find people which will claim you are just making shit up to be difficult
<geist> sure, but i think you'll find that a lot of people wont
<geist> because there are some you can't reach doesn't mean you shouldn't try
<mjg> i said *someone* is going to call you an asshole
<mjg> not every person out there
<geist> okay.
<mjg> fwiw my experience with the linux folks is quite a mixed bag
<mjg> even with interactions with one person
<heat> yeah but you do know who to steer clear of
<heat> even guys that are generally nice have some temper from time to time
<geist> thing is i just dont want to play that game at all. i have a very low BS tolerance level, as soon as i start getting attitude, etc i just take my toys somewhere else
<geist> is that a good way to go about everything? not necessarily
<geist> but so it goes
<heat> you're takin your vax somewhere else
<geist> yah my precious
<mjg> it is pretty bad that at the moment there is no real alternative to linux
<mjg> for general computing + open source
<heat> i do think that the corporate wave linux kernel ppl are way nicer than the Real Hackers
<mjg> if you turn your back on linux you literally got nothing but toy kernels
<geist> agreed! and it wasn't always that way, it has changed during my time since i graduated
<heat> freebsd isn't a toy kernel
<geist> also why i'm a little protective of BSDs and other things. they are the alternative for practical purposes
<mjg> freebsd was a relevant & viable system when i started
<geist> it's not a toy kernel, not everything is about scaling to some ridiculous thing
<mjg> mid 00s
<heat> it's still viable for a lot of stuff
<mjg> it's a hyperbole on my end mofo
<Mondenkind> darwin is oss technically and there was i think some project to try to make an independent os on top of it from other oss components
<mjg> i'm well aware of what it can and can't do
<Mondenkind> they don't make it _easy_ to be sure, but compared with the effort required to actually build somethign useful on top of it i doubt it's that bad
<geist> getting things done is still far better than not doing anything at all
<geist> and getting things done less than absolutely optimally doesn't matter in lots of contexts
<Mondenkind> and yeah fuchsia freebsd
<geist> sometime sit does, sometimes it doesn't
<mjg> point tho is that everything degraded fast to basically linux
<geist> indeed, and i'm not happy with that
<mjg> ye me neither
<heat> DEGRADE TO ONYX
<geist> for the longest time the same thing happend with everything degraded to x86 too
<geist> though that's changing in real time now, which i'm happy with
<mjg> ya
<mjg> interestingly arm64 is picking up
<geist> tis why i've always been interested in !x86. when i was in college (late 90s) there was still a really nice medly of arches and OSes out there
<geist> and thats why i went to work for an OS company at the tail end of that
<geist> and watched it all collapse over the next 10 years or so
<mjg> well it was nice cahtting 'n all, but i need to turn in
<mjg> cheers guys
<geist> ltaer
<heat> maybe sun were the good guys all along
<geist> they were reasonably nice guys until oracle got em
<geist> MSFT was the bad guys in the 90s
<heat> slowlaris?
<geist> at the time you could still buy a much later sparc box running solaris than anything int he x86 world
<geist> did it scale as well? who knows, there wasn't anything to compare it against
<geist> s/later/larger
<heat> idk i wasn't alive back then but there seems to have been lots of negative sentiment towards sun and solaris
<geist> probably mostly because it was expensive
<geist> and you got kinda locked into their ecosystem once you bought in
<heat> oh the OG apple
<geist> and maybe that exact sort of thing is why the BSDs and linux gained some steam
<heat> wasn't that also the case with the other vendors?
<geist> yeah, the death of Big Unix
<heat> say IBM AIX and HP-UX
<geist> x86 got good enough in the late 90s/early 2000s
<geist> the hardware scaled good enough and caught up with a lot of the existing proprietary stuff
<geist> and then you didn't need to buy their stuff
<geist> since the big unices also made their own hardware and their own processors
<geist> you finally had a OS agnostic/hardware agnostic architecture that was kinda an underdog but intel/amd competed with each other until it caught up
<heat> they shot RISC :(
<geist> my comparison i remember is in about 1996/1997 the biggest x86 you could realisically get was a Compaq Proliant 7000 (i interned there at the time) and it was like a quad ppro
<geist> i dont think ppro ever went past quad
<geist> this was competing with like 20 or 40 core sparc machines at the time
<geist> but it was cheaper. was only like a 7u rack, etc
<geist> compaq/dell/etc started maching cheap x86 gear, though it was mostly designed to run windows NT
<heat> a 20 core machine in 1997 had to be really freaking ineffective no?
<geist> was a hell of a lot more effective than a 4 core machine
<geist> that's my point. by todays standards its scaling factor wasn't as good as it could be probably
<geist> but it still scaled past what you could get with 4
Matt|home has joined #osdev
<geist> so since solaris ran on that hardware, it was the thing that scaled and ran on big sparc boxes
<heat> i'm not just talking about scaling in software but also hardware
<geist> oh i dunno, i think the hardware was probably pretty good. good question, how did the MOESI and whatnot work on that? beats me
<heat> taking into account that 20 core machines are *still* not really widespread almost 30 years later
<heat> mm/page_alloc: no need to ClearPageReserved on giving page to buddy system
<geist> i remember our college having a 20 core sparc box that i frequently remember had like 3000 people logged in at a time
<geist> ran fine to me
<heat> "The page initialization time shows 6.5% faster with a 6G qemu virtual machine."
<heat> HUGE WINS
<heat> the thing that takes maybe 200ms and only happens once is now 6.5% faster
<geist> i tend to think of linux as having an infinite number of monkeys just typing away, grinding off all the edges, microoptimizing everything
<geist> the model only works because it is The Defacto Thing
<geist> and only works becaus a bazillion people and lots of $$ funnel into it
<geist> the project itself has scaled far beyond what any other company or project has ever done (for kernels at least)
<geist> the solaris guys were probably the same 5 or 6 core kernel folks, same as any other place
<geist> there's only so much bandwidth to go around
<heat> yeah
<geist> you're always working on some new feature, not microptimizing something. making it 6% faster in some minor thing doesn't sell the next version of the product
<heat> theres also a lot of... extra stuff
<heat> linux 2.2 wc -l mm/*.c: 9166
<heat> linux 6.1.39 wc -l mm/*.c: 159531
<heat> literally insane
<heat> and it is worth noting that linux 2.2 was pretty freaking functional with mmap, munmap, buddy page allocation, madvise, mremap, slab allocation
<geist> yah
<geist> my usual experience is things like that have an exponential explosion of complexity as you get into more and more functionality and polish and features
<geist> and the trick that a company making a product would tryt o do is manage that complexity vs features ideally
<geist> and work it backwards from trying to make a product
<geist> and linux i think doesn't have that requirement, it seems to be able to tolerate the explosion of complexity by having a bazillion monkeys on it
<geist> but it's also why it's just not that useful as a learning tool, and not really that fun to work with (though that's fairly subjective)
<geist> like if you need to double the sie and complexity of some thing to increase a benchmark by some percentage (move from a free list to a buddy allocator, for example)
<geist> you can argue of cours eyou do it, it's faster now, but now you have to deal with that fact that you have more stuff to maintain, more ways to break it, more size, etc
<geist> for a thing like linux it's a no brainer, of course
<heat> 100% agree
<geist> but if you're running a business you have to weigh that against spending time and energy on something else
<Mondenkind> i also wonder--idk linux, but i wonder--if there's problems with local optima as a result of that complexity
<heat> i like to optimize my stuff quite a bit and that turns out to increase complexity and development time insanely
<Mondenkind> like this is definitely true for llvm (which is similar as far as corp backing and apparent investment payoff goes)
<heat> for dubious gains in my hobby operating system
<geist> heat: yah but you enjoy doing that and it's your project for your time, so as long as you enjoy it it's fine
<FreeFull> Given just how many features and stuff the linux kernel has, it is a wonder it hasn't fallen apart
<Mondenkind> you could def do better results for less code/complexity if you started from scratch
<FreeFull> Well, if you start from scratch, you won't do 99% of the stuff that Linux can
<FreeFull> So of course it'll be less complex
<geist> FreeFull: agreed 100% i'm sure there are entire books written on it and it's really a pretty astonishing pile of work
<heat> Mondenkind, wdym local optima?
<geist> but i also do kinda wonder at the back of my mind that perhaps one of the keys of a project like linux working is you at the core of it all need a tyrant
<geist> and that sort of atmosphere and control filters out a lot of stuff by default, and it's actually 'good'
<FreeFull> A single person isn't enough
<Mondenkind> heat: i mean hitting a ceiling as far as incremental improvement goes, st you could do much better but you would have to change the design completely
<FreeFull> Linus has a few very trusted people he delegates to
<geist> right, but they can establish the way the system works, the attitude of everyone, and act as a final arbiter
<heat> Mondenkind, oh for sure
<geist> but also i think kinda importantly it's the same person for the whole project
<heat> there have been (and continue to happen) lots of widespread changes that take painstaking amounts of time to go through
<geist> vs it changing over every few years, a problem that academia projects have (minix, etc) and lots of corporations have (turnover, etc)
<FreeFull> Greg Kroah-Hartman probably is as important to Linux nowadays as Linus is
<heat> no
<heat> linus sets the tone, the other maintainers do accordingly
<heat> even if to not get made fun of by linus when the pull request gets sent
<geist> tone, yeah, that's what i was thinking
<heat> it's very much an intensely distributed effort, and objectively linus doesn't "do much"
<geist> i worry a bit that it's just human nature: tribes of humans work well when there's a tyrant at at the top. or at least some sort of authority
<heat> but he takes details into account and is really concerned about certain stuff, so other people are concerned about that stuff and take details into account
<heat> linus does harsh code reviews? harsh code reviews it is
<heat> fuckin uh
<heat> dang ol operating systems man
<geist> yah
skipwich has quit [Quit: DISCONNECT]
skipwich has joined #osdev
<kof673> well...specialization or "division of labour" . totally decentralized just means...1000 tyrants, each having to "filter" or delegate etc.
<kof673> this is not disagreeing, just either delegate to the tyrant or reserve those powers for yourself lol
heat has quit [Ping timeout: 240 seconds]
Goodbye_Vincent has quit [Quit: ]
<mjg> shiet
<mjg> i can't sleep
<mjg> geist: from git log i know for a fact solaris *did not* scale to 20
<geist> okay
<mjg> geist: note their hw had built-in virtusalisation support
<geist> what era sparc are we talking here?
<mjg> so they most likely were deployed with something like "make this 8 core"
<mjg> you mentioned pre 00?
<geist> yeah very pre
<geist> https://en.wikipedia.org/wiki/Sun4d#SPARCcenter_2000 is the machine i'm in general thinking of
<geist> so 1992
<geist> which makes sense, since it was fairly old by the tmie i went to college in 95
<geist> would be interesting to see which sunos they ran on it, may have even been pre-solaris
<mjg> i don't see good rundown, wiki claims that's sun4d ofc and debian claims it already had hw support for choping up the box
<bslsk05> ​wiki.debian.org: SunSparc - Debian Wiki
<mjg> so this would line up with "make this 4, make this 8" and similar setup, *not* running 20 in one system image
<geist> that's not what i saw
<mjg> they literally *one* image with 20 cores?
<geist> sure. what's the mental issue with that?
<geist> was it optimal? probably not, but if you were running a bunch of completely unrelated stuff on it it probably ran well enough
<mjg> should you git log on key kernel components like mutex implementation et al you will find it was atrociously bad at wiff of contention
<geist> annd?
<geist> did that make it not work?
<mjg> that would mean running 20 was actively negatively affecting performance, compared to - say - 10
<mjg> i'm confident it was operational
<geist> only if there was contention
<mjg> and maybe fast enough for what was needed there
<geist> exactly
<mjg> the contention was everywhere mate
<geist> okay
<mjg> they have lock-protected refcounts in vnodes etc.
<geist> iirc that's because sparc doesn't have modern atmocs
<geist> pretty sure it only has atomic swap
<geist> which was very common at the time
heipiao233 has joined #osdev
<mjg> no i'm sure it got atomics at some point
<mjg> i don't know when tho
<geist> at some point, this was like sparc v8
<mjg> so in this context you mean *that* sparc
<mjg> the problem with refcounts 'n shit is there to this day mon
<mjg> at least in illumos
<geist> okay
<geist> my entire point, i guess, is that at that point you didn't even know if it was sub optimal, because it was the only show in town
<geist> if there's even a point to be made
<mjg> you could have known if things go slower if you deploy at 20 instead of 10
<geist> well, go back 30 years and tell them that
<mjg> however, those were rather dark ages in terms of profiling or anyone knowing anything
<mjg> so i don't reall blame anyone
<geist> not all workloads are heavily contentious things
<mjg> let me tell you how sun itself would know it's bunk
<mjg> running nightly.sh (their machinery to build the system)
<geist> oh geezus
<geist> i was alive 30 y ears ago, not having a giantic fucking lock around the kernel or even running on SMP was pretty advanced
<mjg> of course it was
<mjg> but it was not sufficient to run *sensibly* at 20
<mjg> these were times where microsoft LIED about NT scaling to 4
<geist> i saw it run on 4 and scale okayish. maybe it was 2.7x, maybe it was 3.2, but that was > 2.0
<geist> point is there were things that people maybe needed > 1.0 or 2.0, so they paid for it
<geist> maybe every cpu you added pushed th eneedle .8 and then .6 and then .4, but it was still something
<mjg> i don't doubt solaris scaled to 4 no problem
<geist> but then these were fantastically expensive machines
<mjg> but things go to shit O(n^2)-style as you add cores
<geist> also remember they had different amounts of cache, cache misses may have been relatively closer to the memory than they are now, etc
<geist> lots of modern stuff is dealing with the fact that the cpu runs rings around memory, but that wasn't as much of the case back then
<geist> thats why lots of machines ran with no cache, and it was okay. got the job done
<mjg> you can't jump over 2 cpus trying to write to the same memory
<mjg> even if particular perf degradation level differs
<mjg> between then and now
<geist> yeah but if you had to way the latency might not have been nearly as bad as it is now
<mjg> i think that's misleadingly stated
<mjg> suppose 1 cpu holds a lock and there is n cpus contending on it
<mjg> the lock-protected section taken k units of time because of the memory latency
<mjg> then the first cpu which gets the lock after that had to wait k units, another 2 * k units, another 3 * k units etc.
<mjg> the slower it goes, the more it degrades when contested
<mjg> and vast majority of what they do on heavily shared data structures is lock-protected operation
rustyy has quit [Quit: leaving]
Goodbye_Vincent has joined #osdev
<mjg> so here is a funny story concerning freebsd: it was always said it is the one which cares about performance (openbsd is security and netbsd portability)
<mjg> except nobody ever posted any numbers to prove anything, made up benchmarks or real workloads
<mjg> one day the dragonflybsd people decided to beat their kernel into some shape and finally got to a milestone where a read-only postgres bench scaled +/- like linux
<mjg> and they did benches against that and other systems
<mjg> turns out freebsd did not perform after all
<mjg> despite what it's users or developers would tell you
<mjg> for interested results are still up https://www.dragonflybsd.org/performance/
<bslsk05> ​www.dragonflybsd.org: DragonFlyBSD: performance
<mjg> 2012 vintage
<mjg> so the emperor of the ecosystem had no clothes
<mjg> [btw, as a reaction there was a huge flamewar with total geezering and nobody even profiling to check what happens. ultimately this got resolved in 2014 or so]
<mjg> i know for a fact this benchmark was kind of a gimmic in that the system was beaten into shape where it can perform well in that specific thing
<mjg> while still suffering serious problems in everything else
<mjg> now you get people claiming dfly scales great, when it does not, modulo a select case like that one
<mjg> not only that, i got a geezer claiming solaris beats everyone
<mjg> which we know for a fact was already not true in 2010
<mjg> tl;dr people think what they think without good basis
<mjg> fuckin' news at 11
heipiao233 has quit [Quit: Konversation terminated!]
Arthuria has quit [Ping timeout: 256 seconds]
<zzo38> (unrelated to the above) If, for example, you can type "sleep 5" and then drag a command button from a GUI into the command-line interface, and then type additional commands (including additional delays) and add other stuff from GUI window, to be able to use command-line and GUI together
Matt|home has quit [Remote host closed the connection]
chiselfuse has quit [Remote host closed the connection]
chiselfuse has joined #osdev
heipiao233 has joined #osdev
rustyy has joined #osdev
rustyy has quit [Client Quit]
Vercas3 has quit [Quit: Ping timeout (120 seconds)]
Vercas3 has joined #osdev
rustyy has joined #osdev
navi has joined #osdev
GeDaMo has joined #osdev
gbowne1 has quit [Quit: Leaving]
netbsduser has joined #osdev
Nixkernal has joined #osdev
Left_Turn has joined #osdev
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 268 seconds]
heipiao233 has quit [Quit: Konversation terminated!]
heipiao233 has joined #osdev
heat has joined #osdev
<Ermine> yo
netbsduser has quit [Ping timeout: 268 seconds]
<nikolar> oi
KaitoDaumoto has joined #osdev
freakazoid332 has quit [Ping timeout: 255 seconds]
X-Scale has joined #osdev
netbsduser has joined #osdev
goliath has joined #osdev
heipiao233 has quit [Quit: Konversation terminated!]
X-Scale has quit [Ping timeout: 250 seconds]
gog has joined #osdev
X-Scale has joined #osdev
emm has joined #osdev
X-Scale has quit [Quit: Client closed]
heat has quit [Remote host closed the connection]
heat has joined #osdev
spareproject has joined #osdev
X-Scale has joined #osdev
emm has quit [Ping timeout: 246 seconds]
heat has quit [Remote host closed the connection]
heat has joined #osdev
navi has quit [Ping timeout: 252 seconds]
navi has joined #osdev
Starfoxxes has joined #osdev
xenos1984 has quit [Read error: Connection reset by peer]
X-Scale has quit [Ping timeout: 250 seconds]
xenos1984 has joined #osdev
X-Scale has joined #osdev
jimbzy has joined #osdev
zxrom has quit [Quit: Leaving]
aktaboot has joined #osdev
aktaboot has quit [Remote host closed the connection]
aktaboot has joined #osdev
<heat> mjg, can you admit solaris isn't as bad or useless as you claim it is
<heat> it'd be an important step IMO
aktaboot has quit [Ping timeout: 260 seconds]
aktaboot has joined #osdev
X-Scale has quit [Quit: Client closed]
<mjg> heat: are you disagreeing out of habit or for sport
<Ermine> is solaris useful nowadays?
aktaboot has quit [Remote host closed the connection]
<mjg> just recently i pointed out how the bpftrace machinery is behind dtrace despite more time put into it
<mjg> there you also tried to protest
<Ermine> people who really want their stuff to be portable test it against solaris or illumos
<mjg> ?:D
<mjg> i don't know if that's true MON
<mjg> is sortix portable to illumos
<mjg> btw mofos here is some fresh PESSIMAL from freebsd
<mjg> for linux kpi compat individual added smp_store_release and smp_load_acquire
<mjg> implemented like this:
<mjg> #define smp_store_release(p, v) do { smp_mb(); WRITE_ONCE(*p, v); } while (0)
<mjg> #define smp_load_acquire(p) ({ typeof(*p) _v = READ_ONCE(*p); smp_mb(); _v; })
<mjg> utter fuckign waste
<Ermine> kpi?
<mjg> i think i see how it came to be tho: the "don't use this shit ffs" ifdefs in linux do something of that sort
<mjg> but should you take a look at what gets defined for amd64 you will find it correctly rolls with merely compiler barriers
<mjg> the good news is that i cba to point that out
<mjg> i am however waiting for heat to link a zoe bee about "good enough"
<Ermine> Meanwhile I've touched grass today a lot
<mjg> well if you were rolling in a public park you probably touched dog shit a lot isntead
<Ermine> it's not a public park
<mjg> oh shit
<mjg> #define smp_mb__before_atomic() barrier()
<mjg> #define smp_mb__after_atomic() barrier()
<mjg> lol
<heat> Ermine, solaris is still used for deh sparc
<mjg> it's developed together
<mjg> by the 5 remaining people
<mjg> (number straight out of my ass, paying homage to geezer benchmarks here)
<heat> if they paid me to maintain solaris i'd be fuckin there ezpz
<heat> sadly i'm not in india
<heat> i'd maintain all sorts of weird ass unices
<mjg> says the guy who refuses to contribute to illumos
<heat> illumos isn't paying me
<mjg> contrarian without a cause
<heat> ok illumos vm is pretty darn complex too
<heat> 60kloc without the pmap garbo
<mjg> it's shite first and foremost
<mjg> hat_trick
<Ermine> I was pretty surprised that it supports nvidia drivers
<heat> i do have to mention that the illumos file structure is awful
<mjg> i had nvidia on solaris in 2006 or so
<heat> it feels like old-ass unix
<mjg> naming is ok
<mjg> of funcs
<mjg> consistent fucking prefixes 'n shit
<heat> i mean the usr/src/uts/ stuff
<mjg> compare that to linux which rolls with mm_alloc calling allocate_mm
<Ermine> However, it's not as surprising now given that nvidia kernel drivers are open nowadays
<mjg> what's so wtf
<mjg> separate dir for kernel
<mjg> "uts" means unix time sharing
<Ermine> /boot/vmutsunix
<mjg> if it they s/uts/KERNAL/ would that pass
<heat> ls usr/src/uts/intel/
<heat> i'm not posting the full fucking output cuz i'll flood the channel
<heat> 537 entries!
<mjg> why are you shitting on solaris heat
<mjg> geist get him
<heat> because i'm trying to find the hat layer
<Ermine> pastebin!
<heat> oh of course! it's in i86pc
<heat> obviously.
<Ermine> hat layer?
<heat> it's a platform-dependent thing after all haha
<heat> hat is the solaris pmap
<mjg> you did not evn ready any code yet and you are already shitting on solaris
<mjg> now imagine i said the above
<mjg> :X
<mjg> what would you say heat
<heat> you'd be 300% right
<mjg> but is that what you would have said
<heat> the BSD one is also bad, but less so
<Ermine> if it takes a lot of time to find stuff you need, it's enough to shit on solaris
<mjg> it takes no time to find it
<mjg> git grep
<heat> ok so: 65KLOC approximately for the whole vm system
<heat> lets seeeeeeeee netbsd
<Ermine> I expect a lot of lines for grep -R hat
<mjg> that's wrong grep
<Ermine> grepping dd-wrt sources is funnier
<Ermine> (also it's still svn)
<mjg> i have an idea for a patch
<heat> cloning netbsd is a little slow
<bslsk05> ​dpaste.com <no title>
<heat> ok heat@
<heat> open a bug
<mjg> $ find ./sys/arch/x86/x86/pmap.c sys/uvm -type f | xargs cat | wc -l
<mjg> 49715
<mjg> this probably misses some shite headers but is accurate enough
<mjg> netbsd
<heat> yeah checks out
<Ermine> wc can sum shit itself, so no need for xargs cat
<gog> meow
<mjg> what if the list is too long
<mjg> :X
<mjg> always xargs from find
<heat> i assume openbsd is somewhere around that ballpark
<heat> freebsd is probably a lot larger
<mjg> openbsd is 32903
<heat> the freebsd x86 pmap was like 15KLOC itself
<mjg> freebsd 71617
<heat> (please break it down)
<mjg> it's 12.2k you twat
<mjg> !!
<mjg> that file is peak bsd engineering ethos
<mjg> utter garbage pretending otherwise
<Ermine> fbsd's pmap.c ?
<heat> THE GREAT ONYX SYSTEM mm/ is 11K
<mjg> but it does not even MAP_TURBOLOCKED
<mjg> so not apples to apples innit
<heat> yeah i need mlock and swapping and madvise
<heat> oh and vma merging
<mjg> and maybe huge pagen?
<heat> ugh
<heat> i don't know of a nice way to do huge pagen
<heat> you'd think the linux way of having a separate hugetlbfs would be nicer but it was a huge disaster
<mjg> lol
<mjg> dont' tell the fucks^Wfolks over at #mm but if linux is doing something it's probably a hack
<heat> they'd agree hugetlbfs is a crapfire
<mjg> the commentary extends beyond hugetlbfs
<bslsk05> ​i.imgur.com <no title>
<Ermine> THP THP THP
<mjg> so the fsckerz at illumos add copyright entries for even stupidest changes
<mjg> i suspect this means i could get a cpyright for 2 empty line removal
<mjg> example
<mjg> 7812 Remove gender specific language
<Ermine> no you need to sign cla
<heat> mjg, i don't agree wrt mm
<mjg> + * Copyright (c) 2016 by Delphix. All rights reserved.
<heat> most ideas are sensible
<mjg> - * thread the owner, but he's not ONPROC yet, then all other threads on
<mjg> + * thread the owner, but it's not ONPROC yet, then all other threads on
<mjg> copyright added
<heat> even if accidentally
<Ermine> why 2016 though
<mjg> a random number
Gordinator has joined #osdev
<heat> mjg, what do you think is a huge hack and why
<heat> the slab shrink timer is dead so that doesn't count
<mjg> the stuff before folios would be a great example, but arguably fixed now
<gog> catkeep, catlight, catboss
<heat> isn't struct page widespread in all unices?
<mjg> i concede i don't know *that* much about linux mm specifically. rather everything i look at where i look at it is mostly a fucken' hack
<heat> maybe not windows, idk about windows
<mjg> i mean check out the auxv handling
<mjg> fucking LOL
<mjg> that entire thing was a total wtf
<mjg> well still is
<Ermine> which system do you mean?
<heat> linux
<heat> i think mjg's referring to /proc/<pid>/auxv
<heat> in any case i think mm is mostly okay, was progressively improved over time. but hugetlbfs is awful and thp just added onto it
<mjg> did you know freebsd has transparent huge pages for files
<mjg> several years before linux
<mjg> fucken LOL
<heat> i've heard
<mjg> 2142 task_lock(current);
<mjg> 2143 memcpy(mm->saved_auxv, user_auxv, len);
<mjg> 2144 task_unlock(current);
<mjg> anyhow here is a taste of auxv handling
<mjg> who tf wrote that
<heat> i would love to know what oracle did for vm2
<heat> might have some interesting ideas
<mjg> would not it be funny if it was MAPLE TREES
<Ermine> in windows it's probably typedef struct { ... } Page;
<mjg> which are only now ported to linux
<mjg> hehe
<mjg> Ermine: what
<mjg> in windows it's probablu KePageKurwa_ExChujCyka_byPhysicalIndex
<mjg> and that's the shortened version
<heat> that would be remarkably funny innit
<heat> but sadly i think maple trees were a linux thing only
<Ermine> re "isn't struct page widespread in all unices ... maybe not windows, idk about windows"
<mjg> PageDavai(ki* Chuj);
<Ermine> I can take a look and become persona non grata in wine and reactos
<heat> nah windows is particularly weird in many aspects, it's quite possible they have no page struct at all
<mjg> these apis never cease to amuse me
<Ermine> weird --- then their 'just works' factor is suspiciously high
Gordinator has quit [Quit: My client has closed - perhaps I did that, perhaps I didn't]
heipiao233 has joined #osdev
<heat> the vm2 lead guy is at apple now
vai has joined #osdev
vai is now known as Jari--
<mjg> so i shall note that solaris mutexen when trying to spin
<mjg> would WALK THE FUCKING CPU LIST LOOKING FOR THE LOCK OWNER
<mjg> which is facepalm-worthy
<mjg> the more cpus the are in the system the more expensive it becomes to even check what happens
<mjg> that got fixed around 2008
<bslsk05> ​oracle/solaris-userland - Open Source software in Solaris using gmake based build system to drive building various software components. (72 forks/151 stargazers/NOASSERTION)
<heat> new idea: Oracle/Onyx
<bslsk05> ​github.com: 36563604 libuv COMPILER set incorrectly in Makefile · oracle/solaris-userland@f279eb2 · GitHub
gog has quit [Quit: byee]
emm has joined #osdev
frkzoid has joined #osdev
heipiao233 has quit [Quit: Konversation terminated!]
gog has joined #osdev
FreeFull has quit []
FreeFull has joined #osdev
carrar has quit [Quit: leaving]
carrar has joined #osdev
Arthuria has joined #osdev
<kof673> <shakes head in disappointment> - but it's not ONPROC yet + but owneren not ONPROC yet
node1 has joined #osdev
X-Scale has joined #osdev
X-Scale14 has joined #osdev
X-Scale has quit [Ping timeout: 250 seconds]
X-Scale14 has quit [Ping timeout: 250 seconds]
X-Scale has joined #osdev
aktaboot has joined #osdev
spareproject has quit [Remote host closed the connection]
X-Scale19 has joined #osdev
aktaboot has quit [Ping timeout: 260 seconds]
X-Scale has quit [Ping timeout: 250 seconds]
node1 is now known as reckless
theyneversleep has joined #osdev
tomaw has quit [Remote host closed the connection]
reckless is now known as node1
tomaw_ has joined #osdev
tomaw_ is now known as tomaw
theyneversleep has quit [Remote host closed the connection]
zxrom has joined #osdev
X-Scale19 has quit [Quit: Client closed]
dalme has joined #osdev
node1 has quit [Quit: Client closed]
heat_ has joined #osdev
heat has quit [Ping timeout: 268 seconds]
X-Scale has joined #osdev
GeDaMo has quit [Quit: 0wt 0f v0w3ls.]
chiselfuse has quit [Ping timeout: 260 seconds]
chiselfuse has joined #osdev
wantyapps_ has joined #osdev
wantyapps_ has quit [Remote host closed the connection]
Arthuria has quit [Ping timeout: 246 seconds]
wantyapps_ has joined #osdev
dgz has joined #osdev
wantyapps has quit [Ping timeout: 260 seconds]
wantyapps_ is now known as wantyapps
Starfoxxes has quit [Remote host closed the connection]
Left_Turn has joined #osdev
Turn_Left has quit [Ping timeout: 252 seconds]
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 256 seconds]
dgz has quit [Ping timeout: 255 seconds]
npc has joined #osdev
dgz has joined #osdev
dgz has quit [Ping timeout: 264 seconds]
night has quit [Remote host closed the connection]
night has joined #osdev
dgz has joined #osdev
dgz has quit [Ping timeout: 268 seconds]
Jari-- has quit [Ping timeout: 240 seconds]
dgz has joined #osdev
* geist yawns hi everyone
<geist> how is everyones completely positive day?
npc has quit [Remote host closed the connection]
<nikolar> Completely positive
Arthuria has joined #osdev
<heat_> roger roger
wantyapps is now known as deadbody
deadbody is now known as wantyapps
<geist> yay!
<bslsk05> ​i.imgur.com <no title>
<heat_> systemd haters behold
<heat_> i am your new king
dgz has quit [Ping timeout: 268 seconds]
<geist> oh rad!
<geist> grats
<heat_> thanks
<heat_> openrc was not a hard port, though i had to stub some bits out
<heat_> and the networking services are all wrong
<geist> yah lots of fails there, but
<heat_> im actually considering polishing this up and keeping it
<heat_> can you believe i never ever wrote a sysvinit script
<nikolar> I haven't either
Left_Turn has joined #osdev
<geist> yeah years ago with newos my startup script was just some hand written shell stuff
Turn_Left has quit [Ping timeout: 260 seconds]
Cenkeden has joined #osdev
<kof673> all is well, but there is never any lone positivity here :D "xyz only loves people with wisdom" "wisdom is double-sided" "not found on the earth of the living" see atalanta fugiens, emblem XLIII "it is the same bird" you will note phoenix and corvus astrological positions, directly opposite
<kof673> "never one without the other" -- merlin, excalibur movie lol
<heat_> ok brb flock implementation speedrun
Turn_Left has joined #osdev
Turn_Left has quit [Max SendQ exceeded]
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 246 seconds]
netbsduser has quit [Ping timeout: 256 seconds]
wantyapps is now known as aplel
Arthuria has quit [Killed (NickServ (GHOST command used by Guest684531))]
Arthuria has joined #osdev
Arthuria has quit [Killed (NickServ (GHOST command used by Guest684531))]
Arthuria has joined #osdev
Turn_Left has quit [Read error: Connection reset by peer]
<heat_> dun
emm has quit [Ping timeout: 268 seconds]
dalme has quit [Read error: Connection reset by peer]
<geist> woot
<geist> i need to findally sit down and combine all of these separate 8250 drivers into one uber one
<geist> so many variants
<heat_> i have a single one that fetches its registers from the device tree or from acpi
<geist> yeah, there's so many variants in LK, since it tends to be the one off 'get shit to the uart' that like 80% of the socs implement
<heat_> oh crap new oops
<heat_> sigh reboot it is
heat_ has quit [Remote host closed the connection]
heat has joined #osdev
aplel is now known as wantyapps
<kazinsal> geist: plus all the different ones that have different sorts of half-assed FIFO implementations that may or may not have various bugs
<geist> right
X-Scale has quit [Quit: Client closed]
<heat> i have just learned about posix advisory locks
<heat> this is so sad
<heat> alexa play despacito
raphaelsc has joined #osdev
dgz has joined #osdev
dgz has quit [Remote host closed the connection]
<gog> hi
Cenkeden has quit [Ping timeout: 255 seconds]