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
vdamewood has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
navi has quit [Quit: WeeChat 4.0.4]
joe9 has joined #osdev
goliath has quit [Quit: SIGSEGV]
heat has quit [Ping timeout: 256 seconds]
theruran has quit [Quit: Connection closed for inactivity]
experemental has joined #osdev
gog has quit [Ping timeout: 252 seconds]
experemental has quit [Ping timeout: 256 seconds]
exit70 has quit [Quit: ZNC 1.8.2+deb2build5 - https://znc.in]
exit70 has joined #osdev
smeso has quit [Quit: smeso]
smeso has joined #osdev
kfv has joined #osdev
kfv has quit [Remote host closed the connection]
kfv has joined #osdev
SGautam has joined #osdev
Arthuria has joined #osdev
epony has quit [Remote host closed the connection]
bitoff has quit [Ping timeout: 245 seconds]
cow321 has quit [Remote host closed the connection]
cow321 has joined #osdev
masoudd has joined #osdev
bitoff has joined #osdev
Arthuria has quit [Ping timeout: 246 seconds]
gbowne1 has quit [Quit: Leaving]
Gurkenglas has joined #osdev
gdd has quit [Ping timeout: 245 seconds]
SGautam has quit [Quit: Connection closed for inactivity]
Matt|home has quit [Quit: Leaving]
rustyy has quit [Ping timeout: 252 seconds]
Bonstra has quit [Quit: Pouf c'est tout !]
rustyy has joined #osdev
GeDaMo has joined #osdev
[_] has quit [Read error: Connection reset by peer]
[itchyjunk] has joined #osdev
[_] has joined #osdev
[itchyjunk] has quit [Ping timeout: 260 seconds]
torresjrjr has quit [Remote host closed the connection]
torresjrjr has joined #osdev
kfv has quit [Read error: Connection reset by peer]
kfv has joined #osdev
kfv has quit [Remote host closed the connection]
kfv has joined #osdev
[itchyjunk] has joined #osdev
alexander has quit [Quit: ZNC 1.8.2+deb3.1 - https://znc.in]
alexander has joined #osdev
[_] has quit [Ping timeout: 260 seconds]
gildasio has quit [Ping timeout: 240 seconds]
gildasio has joined #osdev
kfv has quit [Remote host closed the connection]
kfv has joined #osdev
Left_Turn has joined #osdev
kfv has quit [Remote host closed the connection]
kfv has joined #osdev
<Ermine> Is sunrpc kernal module used by nfs?
<sham1> Kernal module?
<Ermine> linux kernal module
gog has joined #osdev
[_] has joined #osdev
[itchyjunk] has quit [Ping timeout: 245 seconds]
<kof123> doesn't answer your question, but previously long ago there have been userspace implementations
<kof123> s/$/of nfs, no idea of the rpc details/
[itchyjunk] has joined #osdev
[_] has quit [Ping timeout: 260 seconds]
[_] has joined #osdev
[itchyjunk] has quit [Ping timeout: 245 seconds]
navi has joined #osdev
[itchyjunk] has joined #osdev
[_] has quit [Ping timeout: 276 seconds]
[_] has joined #osdev
kfv has quit [Quit: Textual IRC Client: www.textualapp.com]
[itchyjunk] has quit [Ping timeout: 240 seconds]
sbalmos has quit [Ping timeout: 276 seconds]
sbalmos has joined #osdev
[itchyjunk] has joined #osdev
heat has joined #osdev
ZipCPU has quit [Quit: ZNC 1.7.5+deb4 - https://znc.in]
[_] has quit [Ping timeout: 260 seconds]
goliath has joined #osdev
<heat> Ermine, yes
ZipCPU has joined #osdev
ZipCPU has quit [Ping timeout: 245 seconds]
ZipCPU has joined #osdev
<heat> sunrpcsunrpcsunrpcsunrpc
joe9 has quit [Quit: leaving]
\Test_User has quit [Ping timeout: 268 seconds]
[_] has joined #osdev
epony has joined #osdev
[itchyjunk] has quit [Ping timeout: 245 seconds]
_73 has joined #osdev
\Test_User has joined #osdev
<mcrod> hi
heat has quit [Remote host closed the connection]
heat has joined #osdev
[itchyjunk] has joined #osdev
[_] has quit [Ping timeout: 268 seconds]
<_73> in the Linux kernel (5.15), the file arch/x86/include/asm/syscall.h contains the line "extern const sys_call_ptr_t sys_call_table[];". From my x86_64 system I have a kernel module that has "#include <asm/syscall.h>", however when I try to access "sys_call_table" the compiler complains with "ERROR: modpost: "sys_call_table" [/home/_73/p/test-module.ko] undefined!". What am I misunderstanding about why "sys_call_table" is undefined? Isn'
<_73> it exposed in the syscall.h file?
[_] has joined #osdev
[itchyjunk] has quit [Ping timeout: 256 seconds]
Gurkenglas has quit [Ping timeout: 250 seconds]
\Test_User has quit [Quit: \Test_User]
weinholt has quit [Ping timeout: 260 seconds]
<bslsk05> ​dbos-project.github.io: DBOS | A Database-Oriented Operating System
[itchyjunk] has joined #osdev
<sortie> https://ahti.space/~nortti/u/Kuvakaappaus_2023-12-26_02-39-07.png ← You ever just have a contributor port irssi for your OS, makes you all warm inside, merry xmas :)
<zid> neat
\Test_User has joined #osdev
[_] has quit [Ping timeout: 268 seconds]
bitoff has quit [Remote host closed the connection]
[_] has joined #osdev
SGautam has joined #osdev
[itchyjunk] has quit [Ping timeout: 245 seconds]
dude12312414 has joined #osdev
dude12312414 has quit [Remote host closed the connection]
masoudd_ has joined #osdev
masoudd has quit [Ping timeout: 260 seconds]
[_] has quit [Ping timeout: 256 seconds]
<heat> _73, that symbol isn't exported to modules
epony has quit [Remote host closed the connection]
epony has joined #osdev
<zid> for obvious reasons, the hell would they do with it
<zid> other than be evi
<heat> pretty much yeah
<zid> heat, did you know there's a link's awakenin randomizer
<zid> I have done nothing else since I found out
<heat> yeah you told us all a few days ago didn't you
<zid> did YOU know
<zid> DID YOU
\Test_User has quit [Quit: \Test_User]
\Test_User has joined #osdev
cow321 has quit [Remote host closed the connection]
<heat> i did not
<heat> thank you for letting me know
cow321 has joined #osdev
[itchyjunk] has joined #osdev
<heat> finally got a use for my usb-c port, so that's nice
<gog> hi
<heat> hi gog
<gog> hi heat
<heat> how r u
<gog> i'm good
<gog> how u
<heat> im updog
<bl4ckb0ne> whats updog
<heat> it's all good
<heat> what's downcat
<bl4ckb0ne> is it the opposite of this updog
<gog> i'm downcat
<bl4ckb0ne> hi downcat im dad
eck has quit [Quit: PIRCH98:WIN 95/98/WIN NT:1.0 (build 1.0.1.1190)]
eck has joined #osdev
Turn_Left has joined #osdev
xenos1984 has quit [Read error: Connection reset by peer]
xenos1984 has joined #osdev
masoudd_ has quit [Ping timeout: 245 seconds]
Left_Turn has quit [Ping timeout: 240 seconds]
heat has quit [Read error: Connection reset by peer]
heat has joined #osdev
<heat> it turns out synchronous IO really sucks
<heat> it kills any throughput one might've hoped to get, and you also risk getting a livelock
<heat> writepages can make 0 progress
<heat> this is fascinating, i'm like, you know, learning basic operating systems lessons that they found out about in the 80s
<mcrod> loser
<mcrod> nerd
<heat> fuck you
valshaped7424880 has quit [Ping timeout: 256 seconds]
<mcrod> :)
<Ermine> so you're walking their way
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
valshaped7424880 has joined #osdev
<FireFly> zid: LA randomizer sounds (chaotic) fun
gbowne1 has joined #osdev
gbowne1 has quit [Remote host closed the connection]
gbowne1 has joined #osdev
chibill has joined #osdev
<chibill> Currently, slightly annoyed. Lost access to most of the IRC channels I was in from the weird falling out Libera Chat had with Matrix. :/ Which I used as an alternative to using my own ZNC.
chibill has quit [Quit: Client closed]
valshaped7424880 has quit [Ping timeout: 276 seconds]
valshaped7424880 has joined #osdev
SGautam has quit [Quit: Connection closed for inactivity]
chibill has joined #osdev
zxrom_ has joined #osdev
zxrom has quit [Read error: Connection reset by peer]
Bonstra has joined #osdev
<geist> oh yeah i forgot about that
<heat> I Forgor 💀
<geist> hello heat. how are you?
<heat> hi geist
<geist> now that christmas is over but i still have days off work i should get back to hackin
<heat> im fine hbu
<heat> i've been doing writeback work, but i still need to shift all my block IO to async as the last big change before merging
<geist> ooh neat someone submitted a v9p fs to LK
<zid> geist: Good news, still time to do advent of code :P
<heat> v9p?
<geist> 9p over virtio. i've meant to look into that ages ago but never got around to it
<heat> oh
<zid> Only reason I know what that is is because it came with my virtio-net doc
<heat> i think virtio 9p was deprecated by virtio-fs
<heat> but still cool
<geist> well, should at leas tlook into that too
<heat> if you do it correctly you can probably reuse the bulk of the 9p code
<geist> yah
<geist> and actually that reminds me, i need to retarget virtio on top of PCI as well, i started that a long time ago but never finished it
<geist> still only runs on virtio-mmio
<heat> i have the opposite problem :p
<geist> yah it's not so much that either is trickier than the other, but abstracting the bulk of the code so that it efficiently uses both transports is a bit of work
<heat> yo did you use fsx at apple when you worked on filesystems?
<geist> hmm, i think we had this converatino a long time ago and i think the answer was no, it hadnt been invented yet
<Ermine> heat: does async thing change anything wrt #85 ?
<geist> it's some sort of shell thing that lets you bang on the fs?
<heat> fsx essentially just does a bunch of ops on a file and validate them
<heat> not a shell thing
<heat> it's pretty old
<geist> ah, yeah i think that didn't exist, though i wrote a utility that did something similar when i was there and i remember the test folks thought it was fantastic
<geist> and i probably wouldn't have done so if fsx existed
<heat> by Avadis Tevanian, Jr
<geist> ah yes, we had exatly the conversation before :) must have existed but i dont remember it
<geist> or maybe the fs team thought it wasn't useful, or i didn't
<geist> possibly because what i was trying to do was bgreak the FS via a ton of threads wailing on things, and fsx wasn't set up for that
<heat> ah cool
<heat> oh yeah fsx doesn't do that
Gooberpatrol66 has quit [Ping timeout: 260 seconds]
<geist> i have no idea if they're using that stress code i wrote
<heat> it's a pretty serialized thing, you give it a seed and it does a bunch of ops
<geist> it was no big thing, usual create N threads, each thread rolls a random number, picks an op, then does one of N things to M files
<heat> eventually i'd like to use linux's xfstests but that's going to take a while
<heat> yeah i stole one of those from ltp
<geist> truncate,create,delete,rename,etc
* heat nods
<geist> a lot of bugs were found with racing things like create/delete and rename. rename is ebil
<heat> Ermine, no #85 is strictly on the "frontend" of VFS stuff
<Ermine> nice
<heat> skrew rename
<geist> racing truncates and writes that are extending a file are ebil to
<Ermine> ebil?
<geist> evil
<Ermine> ah
<zid> updating files is harrrd
<geist> return -EBIL;
<heat> writing is hard
<geist> i ean it's always trivial to just put a lock around the whole thing. problem solved, but it gets exponentially harder if you want to finely grained lock stuff as you probably should
<zid> new files are easy at least heat
<geist> but for some silly embedded thing, or somehting like camera firmware or whatnot, just slamming a lock around the world gets it done
<zid> even a lock doesn't help vs pwoer loss in the middle though :P
<zid> still possible to race vs the psu
<geist> sort of though, because that means by definition you only had one outstanding operation at a time
<geist> so that actually kinda cleans up most recovery problems
<zid> good news, my drives all have NCQ and lie
<geist> kinda the only sane way to deal with FAT
<heat> the vfs is one of those things you can't really put a big lock around
<heat> and not take a huge hit
<geist> yeah i'm mostly thinking bout it from a 'you're writing camera firmare that is writing out a new .jpg'
<heat> yeah who cares about performance on a camera
<geist> allocate space for new file, write to it, then go create FAT entry, done
<geist> sure, my point is being lost
<heat> no, i get your point
<heat> just saying that it's pretty undoable on a real UNIX system
<Ermine> what if there were no synchronous io api
<heat> you'll take a real hit even on mundane stuff like faulting file pages in
<geist> that's fundamentally the truble i'm in with LK. i want to build something higher perf, but the expense goes up kinda exponentially and most folks just use the 'create a file write to it move on' sort of API
<geist> or really most folks are just 'open file read it into memory' because of embedded applications
<heat> but lk doesn't have a vfs does it?
<geist> yeah it does, but it's simple
<geist> handles mounts in a unix like overlay, but passes the entire substring to the FS
<geist> but has stuff like open/close/read/write/create/delete/rename
<heat> oh
<heat> that's pretty fancy
<geist> but it'snot unixy in that there's no high level vnode maintenance. it's basically just 'pass the substring to FS and FS hands back a file cookie'
<geist> so it's up to the FS to do all the internal tracking of open files, etc
<heat> yeah
<heat> probably works pretty well for embedded
<heat> even having mounts is maybe too much
<geist> yah especially RO fses
<heat> if you wanted a Real System on top of lk you probably want it, idk, 10x more complex? :p
<heat> i don't know a ton about the traditional sun vfs stuff with vnodes and all, but i like how linux does things
<geist> exactly
<geist> or just build a µkernel on top of it, and move all the Real Stuff into user space
<geist> and just dont build the native VFS/etc inside the kernel
<geist> ie, what we did with zircon
<heat> i was reading about the svr4 vnode stuff the other day and while it's cool, it seems oversimplified to me
<heat> such that they created a special filesystem just for block devices
Turn_Left has quit [Ping timeout: 256 seconds]
* geist afks for a little bit
<geist> need to do some stuff in the yard while there's still light
<heat> linux has: inode <-> address_space, and it fits really well for block devices cuz then the inode is the filesystem's, while the address_space represents the block device