Search logs:

channel logs for 2004 - 2010 are archived at ·· 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

Saturday, 9 September 2023

05:33:00 <zid> well that was fun, a just spider just walked across me, in the dark
05:41:00 <heat> ChavGPT, i defo see what you mean
05:41:00 <heat> the solaris internals books sound a bit circlejerky
07:05:00 <geist> now you're playing with POWER!
09:04:00 <Hammdist> are any floating-point registers supposed to be preserved across system calls on aarch64?
09:16:00 <Hammdist> where are the floating-point registers? and for that matter, where are x0-x18? I'm stumped
09:18:00 <Hammdist> ah the fp are in fpsimd_state
09:35:00 <cloudowind> better than playing with magic
13:38:00 <netbsduser`> just having a look at the UDI specs out of curiosity
13:38:00 <netbsduser`> this thing is quite mad
13:42:00 <Mutabah> quite
13:42:00 <Mutabah> but, it's quite well thought out to not make assumptions about the system
13:45:00 <netbsduser`> Mutabah: yes, as far as generic goes, i couldn't possibly imagine anything more so
13:46:00 <netbsduser`> the original backers of it are a who's-who of big vendors of the 90s as well, which makes me wonder why it never arrived in any commercial product other than UnixWare
13:53:00 <heat> the solaris struct page was huuuuuuuuuuuuuuge
13:56:00 <heat> the structure according to the book is 160 bytes
13:57:00 <Mutabah> netbsduser`: at a punt, it was becuase it didn't get enough buy-in from the really big names to make it worth using as a primary target
13:57:00 <netbsduser`> i won't count but it does look large
13:57:00 <Mutabah> maybe also because it required almost open-source drivers?
13:57:00 <Mutabah> I think? fuzzy memories, it's been a long time since I implemented it
13:57:00 <netbsduser`> Mutabah: i did read somewhere that a lot of OS vendors trashed it as something that would defeat their competitive advantage of having lots of drivers written for them
13:58:00 <Mutabah> that makes sense
13:58:00 <netbsduser`> and we all know what gnu stallman's opinions were on the matter
13:58:00 <netbsduser`> heat: you think that's bad, tru64's was 192 bytes
13:59:00 <heat>
13:59:00 <netbsduser`> granted they used 8kib pages on their (only?) port for alpha, so effectively it's less
13:59:00 <heat> 160 here on my estimate
14:00:00 <heat> i dont know how large kmutexes are and shit but i remember you mentioning a size opt where it's just a pointer so i went with that
14:00:00 <heat> BUT it may be wrong for those data structures and it's even larger
14:01:00 <netbsduser`> a kmutex is indeed just a single 64-bit field
14:02:00 <ChavGPT> get illumos and check
14:02:00 <netbsduser`> windows' equivalent is apparently 48 bytes which i dislike
14:03:00 <netbsduser`> it's more respectable to be aligned with the cache line
14:03:00 <heat> >get illumos
14:03:00 <heat> i give up
14:03:00 <heat> linux is 64 bytes IIRC
14:04:00 <ChavGPT> it is not hard
14:05:00 <netbsduser`> dragonfly's is 128
14:05:00 <netbsduser`> it's interesting that using larger pages seems to be quite uncommon today
14:06:00 <ChavGPT> linux is doing it
14:06:00 <ChavGPT> transparent
14:06:00 <netbsduser`> i mean the baseline page size
14:06:00 <heat> THP is annoying and usually disabled in prod
14:07:00 <heat> because Intel Sucks
14:07:00 <netbsduser`> linux torvalds worships at the altar of the holy 4kb and storms off the lkml in a fit of pique if anyone suggests bigger
14:07:00 <heat> what
14:07:00 <heat> why would mr linux have any input on that
14:07:00 <netbsduser`>
14:08:00 <heat> thank god mr linux has no input on those things
14:09:00 <netbsduser`> apple i think are using 16k pages nowadays on their aarch64 port
14:09:00 <ChavGPT> linux is creating huge pages rigt now
14:10:00 <ChavGPT> for big enough mappings
14:10:00 <ChavGPT> 2M
14:10:00 <heat> linux is slowly getting support for blocks larger than the page size
14:10:00 <heat> and larger page sizes getting used in the page cache
14:11:00 <heat> (folioooooooooooooooooooooooooosssss)
14:11:00 <netbsduser`> i don't know the first thing about linux's version of transport huge pages but i know that they got trashed by a senior freebsd guy
14:12:00 <heat> ruh roh
14:12:00 <heat> does it mean it's good?
14:12:00 <netbsduser`> he complained it was too eager
14:12:00 <netbsduser`> and it does seem that people complain about linux's thp a lot
14:16:00 <ChavGPT> mate
14:16:00 <ChavGPT> freebsd zaelots trashing something in linux is cliche
14:16:00 <ChavGPT> and mostly bullshit
14:18:00 <ChavGPT> example: there is *NO* defrag for pages in freebsd
14:19:00 <ChavGPT> and due to poor quality of hte allocator the kernel will very quickly fragment them into oblivion
14:19:00 <ChavGPT> meaning the kernel stops being able to grant new super pages within days of booting
14:19:00 <ChavGPT> i'm guessing the senior freebsd dev neglected to mention this bit
14:20:00 <ChavGPT> when users complain about linux thp it is about khugepaged -- their defrag thread
14:21:00 <ChavGPT> freebsd does not have khugepaged eating cpu time only because it does not have anything of the sort to begin with
14:21:00 <ChavGPT> despite desperate need to use it
15:37:00 <gog> meow
15:38:00 <heat> grog smash
15:45:00 <Ermine> gog: may I pet you
16:01:00 <gog> ye
16:01:00 <gog> i need to go to the grocery i think
16:02:00 <gog> it's sunny out tho
16:32:00 * Ermine pets gog
17:43:00 <zid>
17:43:00 <zid> taking you all with me
17:44:00 <gog> you make ai, you wash your hands
17:45:00 <GeDaMo> Are those teeth in the ears? :|
17:48:00 <zid> what, his ears are on his *head* GeDaMo
17:49:00 <zid> his teeth are in his *mouth*
17:49:00 <GeDaMo> Oh, right, it looked like the black line at the bottom was the mouth and the bits on the side were the ears :P
17:49:00 <zid> how old are you GeDaMo
17:50:00 <GeDaMo> 0x3a :|
17:50:00 <zid> too old for rocko's modern life I guess
17:50:00 <GeDaMo> I'm aware of it but never watched it
17:50:00 <zid> I'm like.. 0x22?
17:51:00 <zid> GeDaMo: You're basically dead of old age at this point, can I have half your stuff when you die?
17:52:00 <GeDaMo> 🎜 Will you still need me, will you still feed me, when I'm hex four oh? 🎝 :P
17:52:00 <zid> showing your age just by knowing that song
17:53:00 <GeDaMo> "Who are the Beatles?" "They wrote all the songs on Maggie's baby records"
17:53:00 <zid> Chart topper of.. 1967
17:54:00 <zid> You might think that was 25 years ago, but I'm afraid to say it was 56
17:54:00 <zid> It was 1980 that's was 20 years ago.
17:54:00 <GeDaMo> You wish :P
17:54:00 <zid> When her DOB starts with a 2
17:55:00 <heat_> imagine your DOB starting with a 2 LMAO
17:55:00 <zid> yea heat, lmao right
18:01:00 <GeDaMo> I wasn't given a Covid vaccine this year because I'm too young :P
18:01:00 <zid> Sorry that's because I ate them all
18:03:00 <zid> mrna tastes like cheese strings
20:08:00 <heat_> i have a bug that hides itself with kasan is around
20:08:00 <heat_> yay
20:08:00 <zid> sounds perfect
20:08:00 <zid> you found a fix
20:23:00 <geist> perfect organism
20:24:00 <ChavGPT> heat_: grep CONFIG_DEBUG_PREEMPT in your kernel config
20:24:00 <ChavGPT> arch was it?
20:24:00 <heat_> yes
20:24:00 <zid> talking about me again
20:24:00 <heat_> not set
20:24:00 <heat_> ChavGPT,
20:25:00 <ChavGPT> aight thanks
20:25:00 <heat_> damn i think some really unfortunate alignment of conditions (including buggy logic and uninitialized data) caused that bug
20:25:00 <heat_> since KASAN never reuses memory up to a point, i never saw it under KASAN
20:25:00 <ChavGPT> pretty weird tho
20:26:00 <ChavGPT> kasan is supposed to make these bugs *easier* tofind innit
20:26:00 <heat_> no
20:26:00 <heat_> that would be kmsan
20:26:00 <heat_> which I do not have yet
20:28:00 <heat_> the funny part is that I think this overran the stack and redirected my execution to some other member function of the class xD
20:28:00 <ChavGPT> rewrite in rust
20:29:00 <ChavGPT> don't deal with kmsan
20:30:00 <heat_> i've had the urge to rewrite bits in C but the interop is going to be nasty
20:33:00 <ChavGPT> mofo
20:33:00 <ChavGPT> add assert.h to main.c in your fork of will-it-scale
20:35:00 <heat_> what for
20:35:00 <heat_> oh, i have an assert
20:35:00 <heat_> how the fuck is that compiling then
20:36:00 <ChavGPT> header mess is pulling this in on your distro
20:36:00 <ChavGPT> not a rare occurence
20:36:00 <heat_> also compiles on musl
20:36:00 <ChavGPT> does not compile on freebsd
20:36:00 <ChavGPT> :X
20:36:00 <ChavGPT> just patch it mofer, nothing to discuss here
20:37:00 <heat_> yeah
20:37:00 <heat_> im just curious
20:37:00 <heat_> thats all
20:38:00 <heat_> OH i have a local fix lmao
20:38:00 <ChavGPT> it does buld for me on debian
20:38:00 <ChavGPT> without the fix
20:38:00 <ChavGPT> so...
20:38:00 <heat_> probably due to hwloc?
20:38:00 <ChavGPT> this is so not worth figuring out i don't even know how to to describe it
20:39:00 <heat_> the l in ChavGPT stands for lame
20:39:00 <heat_> ...wait
20:39:00 <ChavGPT> lmao
20:39:00 <ChavGPT> fail
20:40:00 <ChavGPT> how is your read of solaris internals gong
20:40:00 <ChavGPT> feeling respect for the kernel team yet
20:40:00 <zid> what does chav mean in french.. half a horse?
20:40:00 <heat_> ChavGPT, genuinely lost brain cells
20:41:00 <ChavGPT> WHAT
20:41:00 <ChavGPT> enteprise kernel motherfucker
20:41:00 <ChavGPT> mission critical stuff
20:42:00 <ChavGPT> btw heat grep APPARMOR please in kconfig
20:42:00 <heat_> # CONFIG_SECURITY_APPARMOR_DEBUG is not set
20:42:00 <heat_> # CONFIG_DEFAULT_SECURITY_APPARMOR is not set
20:42:00 <ChavGPT> :[
20:43:00 <ChavGPT> fckwads
20:43:00 <ChavGPT> did you know apparmor is PESSIMAL
20:43:00 <heat_> yeah but it's not even on
20:43:00 <heat_> it's just compiled in
20:43:00 <ChavGPT> it eats cpu mate
20:43:00 <heat_> ANYWAY the solaris internals 1st edition sucks arse
20:43:00 <heat_> literally garbage
20:43:00 <ChavGPT> 2nd edition totally does not?
20:44:00 <ChavGPT> (is there one?)
20:44:00 <heat_> the 2nd edition has more details and is passable but it circlejerks on itself
20:44:00 <heat_> yeah 2nd is for solaris 10
20:44:00 <ChavGPT> i don't remember what i read
20:44:00 <ChavGPT> i do remember self-aggrandizing
20:44:00 <ChavGPT> shite all over
20:44:00 <ChavGPT> which was quite funny give how low quality the supposed greatness is
20:45:00 <heat_> when i read "network stack" and "STREAMS" in the same sentence i was about to meme over here
20:45:00 <heat_> BUT
20:45:00 <ChavGPT> oh yeh they have a chapter
20:45:00 <ChavGPT> how they totally make it scale bro
20:45:00 <heat_> it was a self-agrandizing subchapter on how that is bad and they "redid" it
20:45:00 <ChavGPT> but wont bother you with details
20:46:00 <zid>
20:46:00 <heat_> and, you know, that's ok, i'd take this kind of rhetoric if the authors weren't literally Sun people too
20:46:00 <ChavGPT> zid: 9/10
20:46:00 <heat_> like the SVR4 book talks about SVR3 vs SVR4 sometimes but it's not circlejerking
20:46:00 <ChavGPT> heat_: did i mention something about these books lying
20:47:00 <heat_> btw look at this thing i found a few hours ago:
20:48:00 <heat_> it's weird and low-effort-ish but also written in a "commenting-netbsd-sauce-code" style?
20:49:00 <heat_> like lions v6 but SungWon Chung netbsd 1.6
20:51:00 <netbsduser`> i like STREAMS
20:51:00 <netbsduser`> anybody in this channel doesn't have a layered i/o system can leave now
20:52:00 <CompanionCube> but netbsd doesn't do STREAMS, does it?
20:52:00 <heat_> SIKE mofo you thought
20:53:00 <netbsduser`> CompanionCube: some day...
20:53:00 <heat_> but does it do doors?
20:53:00 <CompanionCube> you know what would be really funny
20:53:00 <ChavGPT> heat_: try D&I of freebsd
20:53:00 <CompanionCube> a shitpost driver implementing doors on windows
20:54:00 <ChavGPT> heat_: absolutely *terrible* book
20:54:00 <heat_>
20:54:00 <netbsduser`> i think windows' lpc might have resembled doors at one point possibly
20:54:00 <heat_> we already have that on freebshitd
20:54:00 <heat_> ChavGPT, why?
20:54:00 <ChavGPT> oh it's "we" now?
20:54:00 <netbsduser`> but now it's asynchronous which is an interesting development (opposite of the usual trajectory)
20:54:00 <ChavGPT> contenst was questionable already for the state from the 90s
20:55:00 <ChavGPT> and it was not updated for the most part
20:55:00 <ChavGPT> for the second edition released aroudn 2010
20:55:00 <netbsduser`> anyway i can't be dealing with the C style they use on windows
20:55:00 <ChavGPT> it's basically bogus
20:55:00 <CompanionCube> heat_: that has 'we ported mach stuff and launchd to freebsd for reasons' vibes
20:55:00 <heat_> nooooooooooo
20:55:00 <heat_> mach stuff and launchd is a whole other vector of shithousery
20:55:00 <heat_> this is the solaris lovers' corner
20:56:00 <netbsduser`> CompanionCube: the horse bolted on that one over 3 decades ago when 4.4bsd imported mach vm
20:57:00 <CompanionCube> netbsduser`: no i meant e.g. this ': The TrueOS fork of FreeBSD 10 has launchd running as init and a JSON-aware launchctl utility, along with notifyd, libdispatch and ASL integrated. This work has also been forward-ported to FreeBSD -CURRENT. FreeNAS 10, which is also based on FreeBSD 10.1, will be using launchd and a host of other tools ported from OS X / iOS. It has used the original, and latest, Apple
20:57:00 <CompanionCube> sources and ported them along with MACH IPC. '
20:58:00 <netbsduser`> CompanionCube: and now trueos is gone
20:58:00 <netbsduser`> i know hubbard was very keen on this
20:58:00 <CompanionCube> yup, aren't they a linux distro now?
20:58:00 <netbsduser`> that FreeBSD X initiative
20:59:00 <netbsduser`> i think they did try to spin off a linux distro but i can't find any mention of it now
21:00:00 <netbsduser`> seems it also died a death
21:00:00 <heat_> trueos is one of the operating systems of all time
21:24:00 <gog> hi
21:25:00 * ChavGPT high fives gog
21:26:00 <ChavGPT> ix systems is moving away from freebsd
21:27:00 <CompanionCube> oh?
21:27:00 <ChavGPT> at least a year now
21:27:00 <ChavGPT> they have a zfs nas on linux
21:27:00 <ChavGPT> the one on freebsd is now legacy
21:30:00 * gog prr
21:35:00 <zid> I believe the response is 'owo'
22:31:00 <heat_> ChavGPT, bruv u familiar with the linukz vfs path for write()?
22:49:00 <ChavGPT> nope
22:50:00 <heat_> rip in pieces
22:50:00 <heat_> these fuckin codepaths are confusing
22:50:00 <heat_> and locks and shit
22:50:00 <ChavGPT> :d
22:51:00 <heat_> and in theory there's a possibility for something cool to happen, where writes that are restricted to a single folio on Some Filesystems(tm) could just lock the folio and be done with it
22:51:00 <heat_> so you would *not* need O_DIRECT to unserialize writes