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

Sunday, 10 September 2023

04:15:00 <Jari--> morning from Finland
04:24:00 <Jari--> time for coffee
04:30:00 <xenos1984> Good morning from Estonia!
04:30:00 <xenos1984> time for tea
04:30:00 <zid> nope, not falling for it, there isn't any place called estonia.
04:31:00 <xenos1984> It's virtual. E-stonia.
04:32:00 <zid> ah yea, eStonia's a real place
04:33:00 <zid> If you had said you lived in elbonia, I'd have believed that
04:36:00 <xenos1984> Well, the language is kind of the same.
06:31:00 <zid> poor spider in my room is on my spherical lampshade, just keeps doing laps
06:31:00 <zid> can't figure out how to get anywhere else
06:32:00 <moon-child> art imitates life
06:37:00 <zid> spider suddenly stuck in flatland
06:37:00 <zid> It's the same spider that walked across me in the dark last night I am fairly sure
06:37:00 <zid> unless I have *multiple* 4 inch spiders in my room...
06:37:00 <zid> It's so big it has footstep noises
08:10:00 <kazinsal> gonna make a new stab at doing some osdev stuff again, and I'm enforcing this by ordering some gear that will need me to have sorted out my core osdev shit before it arrives
08:11:00 <kazinsal> nothing particularly fancy, just a couple different intel NICs that have different PHYs and port counts, but enough that being able to do detection and stuff will be a key in making them work
08:39:00 <geist> nice!
08:39:00 <geist> yeah, i sat down trying to get my e1000 driver working against real hardware and didn't make much progress
08:39:00 <geist> lots of details, lots of variants
08:42:00 <zid> rip, yea, I've always assumed my code wouldn't work on mine
08:43:00 <ChavGPT> ;)
08:45:00 <kazinsal> I got mine working on a handful of single port variants but I've never tested against mutli-port ones
08:45:00 <kazinsal> but they're cheap as hell on ebay now so I've got a couple dual ports and a quad port on the way
08:45:00 <kazinsal> that'
08:45:00 <kazinsal> that'll also let me fiddle around with link aggregation stuff
08:46:00 <kazinsal> if I can get enough LACP working to make a cisco switch happy I'll call that a dramatic win
08:49:00 <kazinsal> all the cards are different OEM vendors too so I'll get a good number of PCI vendors to test against
08:49:00 <kazinsal> dell, lenovo, hpe
08:51:00 <kazinsal> when I started my osdev nos project I was heavily influenced in the interface sense by cisco, but since then I've been working a lot with juniper equipment, and I've fallen in love with it
08:52:00 <kazinsal> so I'm thinking my UX will end up being a lot more junos-like
10:56:00 <Ermine> Wow, there's a thing called 'fsys' in itanium. Is it cool?
10:58:00 <Ermine> gog: may I pet you
11:03:00 <gog> yes
11:11:00 * Ermine pets gog
13:51:00 <mcrod> hi
14:06:00 <sham1> hi
14:13:00 <mcrod> sham1: may I pet you
14:13:00 <sham1> Sure
14:14:00 * mcrod pets sham1
14:14:00 * sham1 wags tail
14:15:00 <zid> assolutely huge storm :o
14:19:00 <heat> ChavGPT, feel this optimization
14:20:00 <heat> UNIX-boomer-est optimization i've ever done
14:20:00 <zid>
14:20:00 <zid> '303/min'
14:22:00 <heat> onyx is a single threaded performance beast
14:31:00 <zid> heat look at my storm
14:31:00 <zid> and say "ooh, big storrrrm!"
14:31:00 <zid> like a cat doing a stretch
14:33:00 <heat> ooooooooooooooooooooooooooooh bit storrrrrrrrrm im soooo scared
14:33:00 <heat> big*
14:34:00 <GeDaMo>,53.111,-1.313,8
14:34:00 <zid> fuck is that
14:34:00 <GeDaMo> OK, the thunderstorm view is more impressive,52.912,-1.060,8
14:34:00 <zid> the pic I posted is better
14:41:00 <sham1> HeTo: your link is borked
14:42:00 <heat> wrong he
14:43:00 <heat> anyway link is borked cuz i force-pushed over it
14:43:00 <heat>
14:46:00 * sham1 screams in git workflow
14:55:00 <heat> why?
14:55:00 <heat> it was a PR
14:55:00 <mcrod> god I really like gitlab
14:56:00 <heat> gosh
14:56:00 <heat> i love linux desktop
14:56:00 <mcrod> well
14:56:00 <mcrod> i forsake you my son.
14:56:00 <mcrod> also what are you getting me for my birthday today
14:56:00 <heat> was trying to open steam, it was crashing mysteriously, this triggered me to update
14:57:00 <heat> after the update, i opened steam, it *crashed* (and restarted) my whole desktop environment, opened steam again - it works
14:57:00 <heat> fucking brilliant
14:57:00 <heat> i give this a year of the linux desktop/10
14:57:00 <heat> mcrod, happy bday
14:57:00 <mcrod> thanks
14:58:00 <heat> you're the 2nd coolest person i know whose bday is today
14:59:00 <mcrod> it looks like uploading artifacts on gitlab doesn't forcibly zip them unlike github upload-artifact
14:59:00 <heat> thats BORING and BAD
14:59:00 <heat>!!
15:00:00 <mcrod> but I don't know how predicable their URLs are
15:00:00 <mcrod> because I don't want someone needing a fucking API to figure out what pre-built toolchain to download
15:01:00 <mcrod> i know you had the same problem
15:04:00 <heat> yes i ignored it completely
15:04:00 <heat> github has the same issue
15:04:00 <heat> i dont care
15:04:00 <heat> hooman can figure it out
15:34:00 <ChavGPT> name it Lonyx
15:35:00 <ChavGPT> linux, but worse
15:35:00 <mcrod> i had a feeling you were mjg
15:35:00 <ChavGPT> i don't know who that is
15:35:00 <ChavGPT> i'm joel spolsky
15:35:00 <sham1> fart fart fart fart
15:36:00 <ChavGPT> hey sham1 would you like to see a genz who mixes style changes with semantic changes?
15:37:00 <ChavGPT> heat, take one of the few correct pages from bsd land
15:37:00 <ChavGPT> and add some asserts
15:37:00 <ChavGPT> {
15:37:00 <ChavGPT> - /* Get a reference to the file! */
15:37:00 <ChavGPT> - fd_get(f);
15:37:00 <ChavGPT> + /* file is already refe'd for us */
15:37:00 <ChavGPT> }
15:37:00 <ChavGPT> very linuxy of you
15:38:00 <ChavGPT> instead you could assert on refcount
15:38:00 <ChavGPT> which have the same effect as the lol comment *and* would validate it
15:39:00 <heat> how the fuck do i assert on refcount
15:40:00 <heat> assert(f->f_refcount > 1)?
15:40:00 <ChavGPT> in this case > 0/
15:40:00 <ChavGPT> or whatever
15:40:00 <ChavGPT> but yea
15:40:00 <heat> it's always going to be > 0
15:41:00 <heat> the file table holds one
15:41:00 <ChavGPT> you can be racing against someone who closes it
15:41:00 <ChavGPT> so it no logner does
15:41:00 <heat> anyway see
15:42:00 <ChavGPT> shite trylock
15:42:00 <ChavGPT> re-reading in a cas loop is a classic anti-pattern
15:43:00 <ChavGPT> wtf that's your general spin routine
15:44:00 <ChavGPT> wait, you have *another* access to get the owner
15:44:00 <ChavGPT> dude that's some SOLARIS quality locks right there
15:44:00 <heat> i swear i didnt read the solaris internals mutex chapter
15:44:00 <ChavGPT> they love to avoidably touch the mutex
15:45:00 * ChavGPT is waiting for someone to claim if your locks are contended you already don't scale so it's fine for mutexes to suck
15:45:00 <ChavGPT> not-dear reader, i know you are out there
15:45:00 <heat> if your locks are contended you already don't scale so it's fine for mutexes to suck
15:45:00 <ChavGPT> GOT EM
15:46:00 <heat> really what pains me the most is the unlock routine
15:47:00 <heat> fucking hell
15:47:00 <heat> fyi it does a lock cmpxchg loop for that
15:54:00 <mcrod> i think i'm going to write a game of snake in assembly
15:55:00 <heat> cheers boss
15:56:00 <mcrod> no i'm scared :(
15:58:00 <heat> ChavGPT, btw isn't linux but worse freebsd's slogan already?
15:58:00 <mcrod> i'm sad that using freebsd on the desktop isn't such a good experience, at least for me
15:59:00 <heat> the only good desktop UNIX is solaris
16:00:00 <mcrod> i like my mac :(
16:00:00 <heat> oh and that
16:00:00 <heat> solaris and bastardized netfreebsd
16:00:00 <heat> netfreebsdmach
16:02:00 <ChavGPT> heat: no
16:03:00 <ChavGPT> mcrod: what is not workingout?
16:03:00 <ChavGPT> hw-wise you can get a setup which works fine
16:04:00 <ChavGPT> i don't know if there is any software which would only work on linux which you might want though
16:04:00 <mcrod> no I *can* run freebsd
16:04:00 <ChavGPT> you said it's not a good experience
16:04:00 <mcrod> but I can't run CLion well
16:04:00 <ChavGPT> so what's going on
16:04:00 <mcrod> and to firefox, bsd is a second class citizen
16:05:00 <mcrod> can't even use netflix
16:05:00 <mcrod> well that's not FF's fault
16:05:00 <mcrod> that's google's
16:05:00 <mcrod> honestly I'm happy with the way I have my system set up now, it's not like I absolutely cannot use linux or something
16:06:00 <ChavGPT> does netflix work on linux?
16:06:00 <mcrod> yes
16:06:00 <mcrod> widevine doesn't support freebsd
16:07:00 <ChavGPT> thats just under chrome?
16:07:00 <heat> LMAO
16:07:00 <ChavGPT> linux binaries for chrome and firefox likely work with linux emul
16:07:00 <ChavGPT> so you could like use it that way
16:07:00 <Jari--> For cancer research systems, one could make a special hyperthreading Operaing System implementing over a million hardware threads on a single system. This approach needs to be completely different than the present single core and thread code we have now.
16:07:00 <ChavGPT> same for other stuff
16:07:00 <heat> Jari--, how does that help cancer research
16:08:00 <Jari--> heat i.e. I have read about them using supercomputers
16:08:00 <heat> imagine not having netflix on your desktop
16:08:00 <heat> jesse, we need to install linux
16:11:00 <ChavGPT> yeah, RCU bitch!
16:15:00 <zid> ooh huge clap of thunder out of nowhere
16:16:00 <zid> storm's well passed by now, this is a new one
16:16:00 <heat> ayo mr torvalds
16:16:00 <zid> Hope the wind turbines are okay, that's about where the map said it was, and it was LOUD
16:24:00 <mcrod> in this channel, zid is blown from britain to the united states
16:26:00 <zid> gog: Cursed image inc:
16:32:00 <gog> oof
16:33:00 <mcrod> gog: hi
16:47:00 <heat> i wanna
16:47:00 <heat> i wanna write C
16:47:00 <heat> C++ is smelly and poopy
16:48:00 <Ermine> good desktop is wooden
16:49:00 <Ermine> c++ happens to have memory fences
16:50:00 * bnchs whispers talloc to Ermine
16:50:00 <bnchs> talloc is the ultimate memory allocator
16:50:00 <mcrod> the sad thing is as I've learned doing embedded development
16:50:00 <mcrod> C is still the best way to write portable programs
16:50:00 <bnchs> that is true
16:50:00 <Ermine> this is not wgat
16:50:00 <Ermine> ...what I'm talking about
16:51:00 <mcrod> oh that was unrelated to anything you were saying
16:51:00 <heat> rmalloc is the ultimate memory allocator
16:51:00 <mcrod> i was just saying if you give a shit about portability, ANSI C I'm afraid
16:51:00 <heat> vmem will surpass all other allocators, Believe Me
16:51:00 <mcrod> there are tradeoffs like anything else
16:52:00 <mcrod> but there are still compilers in widespread use underneath your feet that somehow don't support C99
16:52:00 <mcrod> let alone, C++
16:52:00 <Ermine> mcrod: that was not to you
16:52:00 <heat> >embedded development
16:52:00 <mcrod> oh
16:52:00 <heat> you defeated yourself
16:53:00 <Ermine> q
16:53:00 <ChavGPT> embedded elopment
16:53:00 <mcrod> embedded development is a brain massage
16:53:00 <ChavGPT> my internal LLM expected damage, not massage
16:53:00 <Ermine> some people just allocate large chunks of memory and manage it themselves
16:53:00 <heat> text data bss dec hex filename
16:53:00 <heat> 1062592 262869 210776 1536237 1770ed kernel/vmonyx
16:53:00 <heat> do you like it mcrod
16:53:00 <heat> is it big
16:54:00 <mcrod> it is big
16:54:00 <Ermine> oniks
16:54:00 <mcrod> oink
16:54:00 <ChavGPT> c++yx
16:54:00 <ChavGPT> is the real name
16:54:00 <heat> NO
16:54:00 <mcrod> what I really don't like is, if you're doing game development, you basically have to use C++ if you want to support directx
16:54:00 <mcrod> I'm going off on a tangent
16:54:00 <Ermine> cxxyx
16:54:00 <mcrod> but using directx through C
16:54:00 <mcrod> I'd rather be shot
16:54:00 <ChavGPT> heat: you abandon traidtion with c++
16:54:00 <ChavGPT> you POSER
16:54:00 <mcrod> :(
16:55:00 <Ermine> offyx when
16:55:00 <heat> ;_;
16:55:00 <ChavGPT> is that the namre after heat drps the projet
16:55:00 <ChavGPT> i applaud the idea
16:59:00 <heat> >after heat drps the projet
16:59:00 <heat> when
16:59:00 <ChavGPT> now here is a riddle
16:59:00 <ChavGPT> was that supposed to be "drops" or "derps"
16:59:00 <ChavGPT> quite a puzzle innit
17:00:00 <heat> it was already derp to begin with
17:02:00 <ChavGPT> goodjobx
17:02:00 <ChavGPT> is my next kernel
17:05:00 <heat> you neve wrote one to begin with
17:08:00 <Ermine> vmgoodjobx ftfy
17:08:00 <heat> gengoodjobx
17:09:00 <Ermine> so theoretically there can be onyx and linux kernels on e.g. mmu-less targets
17:09:00 <heat> yeah but linux on mmu-less kernels is still called vmlinux
17:09:00 <heat> i think?
17:10:00 <heat> and onyx on mmu-less targets LMAO miss me with that shit
17:11:00 <Ermine> hence 'theoretically'
17:12:00 <nortti> did vm in vmunix mean MMU, or did it mean demand paging?
17:13:00 <nortti> because aiui a lot of early usage of "virtual memory" refers specifically to extending the usable memory through swapping
17:16:00 <Ermine> Idk, I'm younger than kernels that do not have 'vm' prefix
17:16:00 <nortti> looks like unix/32v (mmu but no demang paging) uses unix, while 3bsd (demand paging) uses vmunix
17:17:00 <nortti>
17:20:00 <Ermine> also, could it be that kernel and vmkernel reside on the same machine? Otherwise there's little sense in that prefix
17:20:00 <nortti> I think they probably did during the development of 3bsd
17:27:00 <Ermine> meanwhile, somewhy I have feeling that uses only one thread by default, but it calls nproc correctly...
17:31:00 <heat> it definitely does not use one thread by default
17:32:00 <Ermine> Maybe it's just llvm files compiling slowly
17:33:00 <heat> oh, oh yes
17:33:00 <heat> enjoy the slowness
17:33:00 <heat> it is riveting
17:33:00 <heat> what cpu are you on btw?
17:39:00 <ChavGPT> heat: i did
17:39:00 <ChavGPT> had printf
17:39:00 <ChavGPT> i think i hooked up to one interrupt
17:39:00 <ChavGPT> but i don't remember which
17:39:00 <ChavGPT> (or maybe to an exception handler?)
17:39:00 <ChavGPT> ye i think i caught div by 0
17:39:00 <zid> VERMEER POWER
17:41:00 <Ermine> heat: i5-3470
17:41:00 <heat> yeah that is going to take a while haha
17:42:00 <heat> my CPU is 5 gens newer and still takes some 40-50 minutes without LTO
17:42:00 <zid> shame it won't fit an e5
17:43:00 <zid> to both of you, ofc
17:46:00 <Ermine> heat: i'd like to upgrade my rig but I can't afford it rn
17:48:00 <zid> how much is a 3960x off ebay
17:48:00 <zid> wait not that
17:49:00 <zid> yea, 3960x, amd stole the name so I got confused
17:49:00 <zid> dang, £34
17:49:00 <zid> 45*
17:50:00 <zid> not worth, it's only an E5-1620 without ecc, and those are £15
18:22:00 <gog> hi
18:22:00 <Ermine> hi gog, may I pet you
18:32:00 * gog prr
18:34:00 <Ermine> heat: is your processor i5 or cooler?
18:35:00 <gog> Ermine: prr means yes in this instance
18:36:00 <Ermine> okay, seems like race condition
18:36:00 * Ermine pets gog
18:39:00 <heat> wdym cooler
18:40:00 <zid> i7
18:40:00 <zid> or AMD AMD AMD
18:41:00 <zid> heat: did you ever figure out how to get onyx to boot on a normal ass machine (aka, a gentoo machine with full dev tools)
18:41:00 <zid> s/boot/build
18:48:00 <heat> wdym
18:48:00 <heat> it Should Build(tm)
18:49:00 <heat> like no shit it has deps because it needs a full toolchain you don't have + fucking gn
18:49:00 <heat> (which I regret ever using but for now im stuck with it)
18:55:00 <zid> fucking gn?
18:55:00 <zid> you tried to build it, I was missing some weird package
18:55:00 <zid> cdrtools or something, rather than fsutils
19:01:00 <Ermine> cooler = i7 or i9
19:01:00 <zid> Ermine: is an E5 cooler?
19:04:00 <ChavGPT> ey heat
19:04:00 <Ermine> somewhy llvm build fails to find stdlib.h, stdio.h and sys/mman.h . I'll probably try with clean clone
19:04:00 <ChavGPT> before: total:70898183
19:04:00 <ChavGPT> after: total:220445074
19:04:00 <ChavGPT> who is your daddy
19:15:00 <heat> ChavGPT, what is that
19:15:00 <heat> Ermine, when building compiler-rt? make sure the sysroot is set up
19:17:00 <Ermine> I've set it up
19:17:00 <Ermine> this argument bothers me: --sysroot=/home/peter/code/onyx/src/sysroots/x86_64
19:17:00 <heat> i forgot
19:18:00 <heat> see scripts/ci/
19:19:00 <heat> this is a typical i forgor moment
19:19:00 <heat> btw no need to rebuild the whole of llvm, just -c (idk if you've seen that)
19:24:00 <Ermine> I also apparently need rv64 sysroot
19:25:00 <heat> yeah cuz it builds all llvm targets sorry
19:25:00 <heat> it's just a clang moment you know how it is
19:26:00 <Ermine> I see
20:06:00 <Hammdist> does exception handler (e.g., for page faults) on aarch64 have to save and restore processor flags? or are there separate flag registers for el0/el1?
20:22:00 <heat> you need to save spsr
20:23:00 * Ermine spsr
20:36:00 <heat> Ermine, if you want kernal work tell me
20:36:00 <heat> thanks for the docs btw!
21:04:00 <kof13> > screams in git workflow i think i have mentioned here before, there are audio -> midi converters, which make large files, but in the modern world it is perfectly feasible to construct a device with which to speak in piano
21:13:00 <kof13> and presumably works with whatever instrument as well
23:08:00 * cloudowind greets everyone
23:15:00 <kof13> hi cloudowind . you always greet but what are your master plans?
23:21:00 <Ermine> heat: yeah, I want some kernal work
23:46:00 <heat> Ermine, issue #85 is a bit of chorework but easy, issue #25 is medium and requires some understanding and rework of bits of the network stack
23:47:00 <heat> then there's lots of pending ideas on every subsystem that i haven't written down
23:47:00 <heat> so if you tell me you wanna work on mm or fs there's something for you, for sure