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
<heat> i need to write nfs one day
<heat> it should be interesting
<mjg> :p
<mjg> you really like failed tech, don't you
<heat> how is nfs failed tech?
<heat> 9pfs is failed tech
<mjg> realities of it are super bad
<mjg> it's basically onlyp resent in legacy deployments
<mjg> or when people fuck with autofs, with the idea that this is only mounted at one place at a time
<heat> what's the modern alternative then?
<mjg> the alternative is to not rely on a filesystem with posix semantics
<mjg> or posix semantics to begin with
<mjg> see object stores all over the place
<mjg> like hte one on aws
<heat> well those are not filesystems are they?
<mjg> no but you can mount them if you insist
<mjg> key point being posix semantics just don't work in a distributed environment
<heat> sure
<mjg> it's a bunch of arbitrary bullshti which people then tried to make accessible over the network
<moon-child> i mean
<moon-child> it predates real distributed systems by, like, decades, doesn't it?
<moon-child> was probably supposed to be used for setups where it's probably fine
gog has quit [Quit: byee]
<heat> if i had to share some files over the network and wanted it in a filesystem format, i'd probably use nfs
<heat> unless you want, idk, httpfs
<heat> something stupid like that (which I don't doubt exist, at least in FUSE form)
<kof123> > WebDAV is a long-standing protocol that enables a webserver to act as a fileserver and support collaborative authoring of content on the web
<moon-child> i want eventually consistent distributed state
<moon-child> not git, but more like git than nfs
<kof123> webdav and lynx.... <runs> > The Lynx "comment" command initiates an email message to the recorded author of the document (*). To send a comment simply press the 'c' key
<heat> >The first port of NFS was to a VAX 750 running Berkeley 4.2 BSD
<heat> VAX VAX VAX VAX VAX VAX VAX
<mjg> moon-child: don't make me check when "silly rename" showedu p
* kof123 throws in some hesiod
Test_User has joined #osdev
\Test_User has quit [Ping timeout: 264 seconds]
Test_User is now known as \Test_User
<geist> eep the lava started flowing in iceland
<mjg> url?
<mjg> oh there it is
netbsduser has quit [Ping timeout: 264 seconds]
<kof123> there was that: > DCE/DFS is believed to be the world's only distributed filesystem that correctly implements the full POSIX filesystem semantics, including byte range locking. DCE/DFS was sufficiently reliable and stable to be utilised by IBM to run the back-end filesystem for the 1996 Olympics web site
<kof123> > Like the OSI model, DCE has not seen much success in practical implementation
<epony> the Java started flowing out when the Sun gosslings found out about Pascal's P-code machine
<epony> it looked like the advent of P-code
* epony cracks a nut
<epony> oh, and Lisp likes both S&M-expressions but only S-expressions retained their specific torturer braces and upside down hangings.
<geist> does java have a `safe` keyword?
<geist> rust, they go the other way, only `unsafe`
<heat> all of java is safe
<heat> for "unsafe" you need to use native code, i think
MarchHare has joined #osdev
<MarchHare> Greetings, program!
navirc has quit [Quit: WeeChat 4.0.4]
<epony> now add the "fast" keyword
<epony> and see it lose weight
<epony> NFS means "No Files Safe"
<epony> funnily, file safety is missing in Linux "sync" syscalls
<MarchHare> So, speaking of sync syscalls...I've been playing around with some old exe files. Does anyone happen to have a link for a detailed explanation of how dos exe's are loaded and the relocations are done, preferably with some actual examples? The wikipedia entry on relocations is generic and refers to a basic example showing the general idea, but I want to see a step by step example on a DOS MZ exe.
<zid> Just find some PE documentation
<zid> googling for PE .rdata relocation or something idk
<MarchHare> I'm after MZ exe's not PE.
<zid> those supported relocations? :p
<MarchHare> But I was hoping someone would have a decent one. My google searches mostly come up with how to read an exe's headers and stuff.
<MarchHare> zid: Seems like they did, they have a relocation list right after the header, according to dj delorie.
<zid> Not sure I've ever actually ran an MZ-only exe
<MarchHare> zid: And the old bootloader game I started reversing years ago loads what appears to be an MZ exe directly from disk (not from the filesystem) and seemed like it was doing relocations or something, I sure wasn't following what it was doing.
<zid> you could see what freedos or whatever does if all else fails?
<MarchHare> I started looking there, but I kind of wanted to see a simplish example just kind of laid out, if that makes sense.
<zid> I would too, but it ain't here
<zid> so, keep searching
<MarchHare> Guess I'll have to. Maybe I'll have to be the one to write the example...
<zid> dw, it's not info anybody else needs
<zid> Unless we find a time-hole leading to 1980, anyway
<epony> Times square holes are not that rare..
<epony> they lead to the 80ies
<epony> with culture intact and everything
<epony> MarchHare, org 100h
<MarchHare> epony: I'm uh, not writing a com file...
<epony> the sincere honesty is that I always wanter position independent executables and non-size limited arrays at definition
<epony> "wantoned"
<epony> so I hid that old style from you, because history can not repeat itself
edr has quit [Quit: Leaving]
netbsduser has joined #osdev
rustyy has joined #osdev
stolen has joined #osdev
srjek|home has quit [Ping timeout: 252 seconds]
<geist> a.out!
<moon-child> everybody always a.out but no one even a.in smh
netbsduser has quit [Ping timeout: 268 seconds]
smeso has quit [Quit: smeso]
smeso has joined #osdev
deckard has quit [Quit: l8r]
deckard has joined #osdev
deckard has quit [Client Quit]
deckard has joined #osdev
<MarchHare> I was a.in earlier, but now that it's bedtime, I'm about ready to be a.passed_out
<MarchHare> a.night!
MarchHare has quit [Quit: Leaving]
netbsduser has joined #osdev
masoudd_ has joined #osdev
netbsduser has quit [Ping timeout: 268 seconds]
traged has joined #osdev
traged has quit [Client Quit]
netbsduser has joined #osdev
netbsduser has quit [Ping timeout: 276 seconds]
stolen has quit [Quit: Connection closed for inactivity]
heat has quit [Read error: Connection reset by peer]
heat has joined #osdev
masoudd_ has quit [Ping timeout: 276 seconds]
[itchyjunk] has joined #osdev
goliath has joined #osdev
<Ermine> Now NASen provide knobs to enable nfs access
<Ermine> I failed to configure uid/gid maps, so I use SMB
gbowne1 has quit [Read error: Connection reset by peer]
heat has quit [Remote host closed the connection]
heat has joined #osdev
masoudd_ has joined #osdev
heat has quit [Remote host closed the connection]
heat has joined #osdev
[itchyjunk] has quit [Remote host closed the connection]
GeDaMo has joined #osdev
gog has joined #osdev
xenos1984 has quit [Read error: Connection reset by peer]
zetef has joined #osdev
zetef has quit [Remote host closed the connection]
zetef has joined #osdev
flom84 has joined #osdev
xenos1984 has joined #osdev
zetef has quit [Remote host closed the connection]
zetef has joined #osdev
zetef has quit [Ping timeout: 276 seconds]
flom84 has quit [Quit: Leaving]
masoudd_ has quit [Ping timeout: 268 seconds]
bauen1 has quit [Ping timeout: 268 seconds]
Gooberpatrol66 has quit [Ping timeout: 268 seconds]
bauen1 has joined #osdev
zetef has joined #osdev
navi has joined #osdev
divine has joined #osdev
project10 has quit [Read error: Connection reset by peer]
project10 has joined #osdev
xenos1984 has quit [Read error: Connection reset by peer]
netbsduser has joined #osdev
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
xenos1984 has joined #osdev
srjek|home has joined #osdev
srjek|home has quit [Ping timeout: 245 seconds]
zetef has quit [Ping timeout: 268 seconds]
gildasio has quit [Remote host closed the connection]
zxrom has joined #osdev
gildasio has joined #osdev
Gurkenglas has joined #osdev
gildasio has quit [Remote host closed the connection]
Gurkenglas has quit [Quit: Client closed]
gildasio has joined #osdev
Gurkenglas has joined #osdev
Gurkenglas has quit [Quit: Client closed]
Gurkenglas has joined #osdev
Left_Turn has joined #osdev
janemba has quit [Ping timeout: 255 seconds]
janemba has joined #osdev
rhburt has joined #osdev
<immibis> i think NASen are just servers by another name. Some people are installing GPUs in them and running intensive containerized apps.
<Gurkenglas> I've used Windows, then Debian (GPT-3 treated my terminal allergy when it came out!), then QubesOS. Can you recommend me an OS? My desiderata are that poking around should be productive (eg "ls -l" could come with a description column in system directories) and more importantly that it be made of parts whose communication I can interface with (eg
<Gurkenglas> it exposes a nodes-edges graph of files/processes/devices and the data flows between them which I can put on screen, and then I can plop down a man-in-the-middle on an edge to eg "log keypresses" or "record screen" or "mirror screen")
<Gurkenglas> Possibly what I'm looking for is a FrankensteinOS of tiny MirageOS VMs, each with one file/process/device, which I can use off-the-shelf network administration tools to mess with
<heat> that's extremely out of topic
<Gurkenglas> Sorry :D. Does it help if I state willingness to create that FrankensteinOS?
<netbsduser> i'm afraid i don't know anything about frankensteinos, mirageos, nor qubesos
<Ermine> immibis: everything is electronic computational device by another name
<gog> i'm an electronic computational device
<gog> beep
<gog> meow beep
<Gurkenglas> netbsduser: ~all I know about MirageOS is that its binary fits in a few megabytes. I pulled the name FrankensteinOS out of thin air just now. QubesOS is basically a pile of Debian VMs, based on the security principle of compartmentalization.
<Ermine> electronic computational device gog: may I pet you
<gog> yes
masoudd_ has joined #osdev
* Ermine pets electronic computational device gog
<Gurkenglas> gog: are you made of parts whose communication i can interface with?
* gog piezoelectric prr
<gog> Gurkenglas: no
<Gurkenglas> dangit. the data is mounting that such a thing doesn't exist.
<heat> gog are you running freebsd
<heat> if so you're not a computational device
Gurkenglas has quit [Quit: Client closed]
<gog> i'm running catbsd
edr has joined #osdev
<heat> do not run bsd under any circumstances
<gog> if i get good enough at making bagels i'm going to open a bagel shop called "hringbrauð" and that's a pun in icelandic because there's a main road in reykjavík called "hringbraut"
sbalmos has quit [Remote host closed the connection]
sbalmos has joined #osdev
rustyy has quit [Ping timeout: 252 seconds]
vdamewood has joined #osdev
srjek|home has joined #osdev
dude12312414 has joined #osdev
<Ermine> It's not the best time to open a shop when volcano is erupting
<GeDaMo> Unless you're selling volcano souvenirs :|
<bl4ckb0ne> Ermine: free heat to cook your bagels though
<Ermine> you have a point
<vdamewood> There's a volcanoe near my city where the visitor center sold packets of ash after a recent eruption.
<vdamewood> volcano*
puck has quit [Remote host closed the connection]
puck has joined #osdev
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
zetef has joined #osdev
rustyy has joined #osdev
netbsduser has quit [Ping timeout: 245 seconds]
rustyy has quit [Quit: leaving]
netbsduser has joined #osdev
eddof13 has joined #osdev
zetef has quit [Ping timeout: 255 seconds]
<gog> hmmm geothermal bagelsl
<gog> technically the bagels would be 33% geothermally-derived with the electricity we get
<gog> but the other 66% is hydro
<GeDaMo> Apparently, the authorities are worried about the volcano's proximity to a power station
<gog> yeah, svartsengi
<gog> they spent the better part of 3 weeks building an earthen mound around it
srjek|home has quit [Read error: Connection reset by peer]
gildasio has quit [Ping timeout: 240 seconds]
eddof13 has quit [Quit: eddof13]
windozer has joined #osdev
<windozer> so... RCU.... this is some kind of joke right?
<gog> what is
<windozer> RCU
nur has joined #osdev
<gog> what's a joke about it
<windozer> lindozers say "this is the greatest thing since sliced bread, and no u cant see how it works, we PATENTED it"
<windozer> but i read the patent
<nur> is the GDT still the same size in 64 bit mode (x86_64)
<gog> nur: system descriptors are extended
<gog> segment descriptors are the same
<heat> windozer, you're 20 years late mate
<nur> gog what's a system descriptor
<windozer> and its literally just letting u snatch a data structure and prevent it modifying, and if u want to write, u copy it and replace the pointer, and when everyone is done with the old one...then u kill it
<gog> interrupt descriptor, task state segment
<heat> correct
<gog> gate descriptors*
<nur> ahh okay
<heat> fyi that part isn't patented
<heat> the way to check if everyone is done with it is
<nur> why is the segment stuff still the same size? You'd think you'd need 64 bits for the base and limit addresses no?
<heat> nur, x86_64 segments aren't real
<gog> long mode mostly ignores them, but you can't not have them
<windozer> i did a ting like this a few years ago in a different project
<windozer> i just used an atomic counter to detect when its time to kill the old version of the structure
<heat> that's slow
<heat> that's... just refcounting
<windozer> nur: thats why there is now MSR for setting the GS base
<windozer> because if u didnt have the msr
<windozer> no 64 bit base for u
<windozer> heat: its ready/copy/update
<windozer> a la me
<heat> it's not
<heat> if you need to grab a refcount, it's... a refcounted object
<heat> that's not the point of RCU
<windozer> that goes without saying
<windozer> i did same thing in a project written in java, but since i had no concern for refcounts
<nur> are we talking about RCU?
<windozer> i just let the gc collect the old copies
<heat> the power of RCU is that one can iterate a e.g list completely lockless, trivially
<heat> reads are nearly free, writers pay the cost
<windozer> thats what i did
<windozer> atomically increment a refcount in the object and then u can read it
<heat> lol
<heat> that's the opposite of free
<windozer> writers got to acquire a lock and then replace the pointer to the actual data to the new version
<windozer> we dont count atomic operations as true locked
<windozer> ofcourse i know that they interlock the bus
rustyy has joined #osdev
<windozer> but thats momentary and doesnt mean the entire object is accessed under software interlock w a sleeplock or spinlock
gildasio has joined #osdev
<heat> RCU as an idea is pretty simple and NOT PATENTED, the trick is finding out when its safe to reclaim
<windozer> yes i want to do it ebtter than i did bbefore
<heat> the linux RCU patents describe one way of finding shit out
<heat> and they are, of course, much better than anything else out there
<heat> because they avoid, erm, atomics
<windozer> quiet states
masoudd_ has quit [Ping timeout: 246 seconds]
goliath has quit [Quit: SIGSEGV]
eddof13 has joined #osdev
gog has quit [Quit: Konversation terminated!]
frkazoid333 has quit [Ping timeout: 268 seconds]
Left_Turn has quit [Ping timeout: 256 seconds]
sbalmos has quit [Quit: WeeChat 4.1.2]
bauen1 has quit [Ping timeout: 268 seconds]
Left_Turn has joined #osdev
antranigv has quit [Ping timeout: 264 seconds]
sbalmos has joined #osdev
eddof13 has quit [Quit: eddof13]
xenos1984 has quit [Ping timeout: 246 seconds]
xenos1984 has joined #osdev
eddof13 has joined #osdev
<windozer> well
<windozer> i will implement RCU the Linux way then
<windozer> once i finish reading these patents
<windozer> nice of them to write patents so u can just copy the logic str8 out of them
<windozer> beats reading linuxz code
xenos1984 has quit [Ping timeout: 268 seconds]
<windozer> did anybody else here implement RCU
xenos1984 has joined #osdev
<heat> i did
<heat> fwiw if you're reading patents and getting some actual non-gibberish out of it, you might end up being a good lawyer if you ever pursue that path
bauen1 has joined #osdev
goliath has joined #osdev
<pounce> i was going to once
<pounce> but then i got bogged down in async rust primitives and oops
<pounce> now it's 7 years later and im a programming languages researcher
<pounce> RCU, don't try it kids
<heat> but you never did RCU did you
<heat> rust, don't try it kids
<windozer> i dont and wont use rust
<windozer> if i wanted an over bearing line manager screaming demands at me about my code i would go back to my first job out of college
<netbsduser> i would like to implement rcu but i haven't yet
<netbsduser> this has spurred me on to read about it sooner rather than later
<Ermine> Wow uefi has a presentation on debugging methodology
<heat> Ermine, which one?
<heat> netbsduser, fwiw i used lots of early articles on RCU and what they now call "classic RCU"
<Ermine> 2011 though
<heat> on lwn and other platforms (paul mckenney had a couple of academic papers on this IIRC as well)
<heat> there's another RCU called tree RCU which is 1) far more modern 2) maybe a bit too overkill, too scalable for common mortals
<heat> but that one is maybe even more documented on lwn
<Ermine> Once again I regret not having serial port on my pc
<Ermine> But seems like motherboards for home/gaming stuff are not equipped with rs-232
<netbsduser> >"Unfortunately, this spinlock can also suffer extreme contention if there are more than a few hundred CPUs, which might soon become quite common if multicore trends continue" oh no, not the many-hundred-core CPUs
<netbsduser> that will soil my scaling
<heat> i know right hahahaha
<puck> i almost thought you were talking about UEFI and got very worried for a moment
<heat> fwiw i tried a few numbers of threads (in what mjg would call LAPTOP SCALE LUL LMAO) and it always scaled
<heat> i couldn't get the spinlock to actually contend
<puck> (annoyingly my desktop already does multicore uefi, ruining my plans of commandeering an unused core to do funny things)
<heat> your what does what now
<puck> heat: i think it uses some extra cores during initialization
<puck> if i commandeer one it locks up the UEFI
<puck> but, my code runs perfectly smoothly
<heat> right, that's normal, even OVMF does that
<heat> they use the MP protocol(s) to run stuff on the APs
<puck> yeaoh
<puck> i used that protocol to try and take over a core, because uefi doesn't have preemptive multitasking*
<puck> *partially true. there's like four priority levels
<puck> stuff's pretty wonky tho
<heat> yeah
<puck> if i run too much code in callback prio level it gets mad and doesn't boot
<puck> and i don't know why because the entire screen is covered in my beautiful animated bootsplash
<heat> some code needs TPL_APPLICATION
windozer has quit [Quit: HeXChat 2.10.2]
Gooberpatrol66 has joined #osdev
Gurkenglas has joined #osdev
<puck> heat: yeah this is running in TPL_CALLBACK
<puck> which is totally fine for interacting with the GOP
gog has joined #osdev
node1 has joined #osdev
<node1> Hi
<node1> Is the clock rate for an instruction pipelined CPU always necessarily longer than that of a non-pipelined CPU?
antranigv has joined #osdev
bitoff has quit [Remote host closed the connection]
bitoff has joined #osdev
<gog> i... don't understand what you mean by this
CaptainIRS has quit [Quit: Ping timeout (120 seconds)]
<heat> gog, i mean linux kernel system operating
<gog> heat
<heat> bazel
<gog> freebsd operating kernel
<heat> no
<heat> nooo
<gog> yes
<gog> yes
<gog> yesssssssss
CaptainIRS has joined #osdev
<node1> was it for me?
<heat> paidbsd crapper
kazinsal has quit [Ping timeout: 245 seconds]
<gog> node1: what do you mean by this question yes
nitrix has quit [Remote host closed the connection]
arminweigl has quit [Quit: ZNC - https://znc.in]
nohit has quit [Read error: Connection reset by peer]
kazinsal has joined #osdev
arminweigl has joined #osdev
nitrix has joined #osdev
vdamewood has quit [Ping timeout: 245 seconds]
nohit has joined #osdev
GreaseMonkey has quit [Remote host closed the connection]
<gog> the clock rate is the clock rate, it's the number of times per second the circuit can change state
<node1> I'm asking whether the clock rate (or clock cycle time) in a CPU that uses instruction pipelining is always required to be longer compared to a CPU that does not use pipelining(which looks hypothethical)
citrons has quit [Ping timeout: 245 seconds]
mjg has quit [Ping timeout: 245 seconds]
<gog> a pipelined cpu has more to do in each clock cycle, but it's not necessarily longer
amj has quit [Ping timeout: 245 seconds]
<gog> certain events or instructions can cause the pipeline to have to be stalled or flushed which impacts performance
citrons has joined #osdev
<node1> Yes but i'm just comparing with  non-pipelined CPU instruction.
<gog> it depends
<node1> For me it looks like it should be always larger.
mjg has joined #osdev
<node1> Based on logical reasoning :)
<node1> CPI is always larger for pipeline
<gog> yes, but that doesn't mean the instruction itself is going to take more time and the CPU itself may be able to have a higher base frequency
netbsduser has quit [Ping timeout: 268 seconds]
<gog> so there's a tradeoff of power consumption and throughput per cycle
<gog> and the fact that if you repeatedly stall the pipeline it's actually slower than a non-pipeline cpu
<node1> ok
<heat> gog
<heat> gogggggggggg
<gog> heat
<gog> heaaaaaaaaaaaat
<heat> give me attention
<heat> i am beby
amj has joined #osdev
<gog> no
<heat> what
<heat> why
<gog> jk
<gog> hi heat how are you today
<heat> im ok
<heat> i'm not getting swamped by uni anymore
<heat> which is good
<gog> good
<heat> for a couple of weeks, that is
<heat> so i've written more onyx again
<heat> i have a really annoying issue atm that i need to figure out
<node1> oka thank you gog
<heat> where clangd the language server doesn't agree with clang the compiler, given the same options
node1 has quit [Quit: Client closed]
<heat> particularly for lock analysis stuff
<heat> if you could look into it gog that'd be great!
<gog> maybe some of the options aren't passed from the frontend
<heat> yeah i... i don't get it
<heat> i may need to update my toolchain to the latest version and see if that fixes it
<gog> have you tried turning it off and on again
<heat> yes
<heat> i'm a computing professional
<gog> i'm not
<gog> i'm striving to be as unprofessional in my conduct as possible
<gog> i've been showing up drunk and harassing the customers
<heat> are you a computing unprofessional then
<gog> yes
gbowne1 has joined #osdev
goliath has quit [Quit: SIGSEGV]
Matt|home has quit [Remote host closed the connection]
gareppa has joined #osdev
GreaseMonkey has joined #osdev
netbsduser has joined #osdev
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
brynet has quit [Quit: leaving]
meisaka has quit [Ping timeout: 276 seconds]
alfplayer has quit [Ping timeout: 264 seconds]
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
brynet has joined #osdev
gareppa has quit [Quit: WeeChat 4.0.5]
<heat> gog.com
<gog> welcome to zombocom
<gog> this is zombocom
<gog> welcome
<heat> welcome to gogcom
<heat> this is gogcom
epony has quit [Remote host closed the connection]
<gog> heaty
<gog> i'm sad
<gog> but i'm also happy
<heat> why
<heat> what's wrong
<gog> idk
<gog> girl stuff
<heat> girls ☕
<mjg> women amirite
<mjg> i have a cure tho
* mjg pets gog
* gog prr
<heat> i thought you were going to say HRT
<heat> which technically is a cure for woman
<heat> womanite
<gog> i think my emotional volatility over the last couple months is related to that
<gog> i changed meds and i feel generally better
[itchyjunk] has joined #osdev
<gog> like i have energy and my body doesn't hurt every day
<heat> this is a certified pog moment
<mjg> i can tell you were not looking at eufi
<mjg> uefi
<heat> no, i've been looking at writeback
<mjg> i was talking to my friend
<heat> folio locks are a fun PESSIMAL thing
<mjg> gog
<heat> what does freebsd use for page locks again?
<gog> mjg
<gog> i haven't looked at uefi in a couple weeks
<heat> good choice!
<gog> i'm busy writing a jvascript thing
<heat> bad choice!
<mjg> heat: CRAP
<mjg> is what it uses
<heat> that's GOOD TO KNOW
<heat> atm linux folio locks can't spin on the holder
<heat> which sucks but they don't want to make struct page larger
<mjg> freebsd locks dn't spin either
<mjg> for pagen
<heat> i do wonder how pessimalen that is
<heat> i guess if you use it too liberally for e.g LITERALLY MAPPING PAGES it may be pessimalen
<heat> as in those cases it's a really short lock
<mjg> it's terrible
<mjg> no joke
<mjg> worst bottleneck at this pint
<gog> rgb color space is kinda weird
<gog> liek when you have two fully saturated channels
<gog> then yoou have a more compressed range of tints
<gog> at least to my eye
<gog> maybe it's my monitor
<bslsk05> ​lore.kernel.org: Virtual Scanning Considered Harmful - Matthew Wilcox
<heat> thoughts?
<mjg> linked list walks being fucking atrocious is not new
<heat> yeah but physical scanning is also kinda nuts? new idea?
<mjg> however, chances are he can speed them up big time with early enough prefetch
<mjg> literally scan all physical pages every time is PESSIMAL indeed
<mjg> but you can probably slap something simple on top, say a bitmap for 2M mappings or some shit
<mjg> so you would be able to avoid majority of unused memory
<heat> is it though?
<heat> if you can scan roughly 40x as much memory, it depends on how big your LRU lists usually are
<mjg> go past your laptop thinking man
<mjg> i got a box with literally 1TB
<mjg> scanning the entire thing is a turbo loller
<mjg> and 1TB is not anywhere near the biggest you can find out there either
<heat> i don't care
<mjg> webdev
<heat> how big are your lru lists?
<heat> when push comes to shove and it does need to walk through them
<mjg> for vm i don't know, i epect there is a lot of stupid going on there, so probably longer than necessary
<Ermine> 1TB ram?
<heat> if you had to go through 1TB/40 before but now you need to go through 1TB, it's roughly the same performance on anything that's not a VAX
<mjg> ye
<mjg> heat: except most of the time i'm not using anywhere near 1TB
<heat> and i seriously doubt that LRU lists are a 40th of the whole memory
<heat> right, so why are you scanning LRU then?
<mjg> heat: and even if i did majority of it can probablyb e exluded
<mjg> freebsd presumably is looking for good candidates for whacking from memory
zetef has joined #osdev
<mjg> i just noticed the email is from october
<mjg> and there are no rplies
<mjg> highly suspicious
<heat> no one wants to do LRU work i guess
<heat> particularly extensive LRU work, that is
<mjg> someone should give this email as a prompt to chatgpt
<mjg> problem solved within fucking minutes
<heat> the problem with the physical approach is that i have no idea how would could easily find the replacement candidates without going through the whole memory
<heat> maybe xarray? but if you try to insert into an xarray at the head you'll have a nasty surprise
heat has quit [Remote host closed the connection]
heat has joined #osdev
wand has quit [Ping timeout: 240 seconds]
wand has joined #osdev
rwb has quit [Quit: ZNC - https://znc.in]
rhburt has quit [Ping timeout: 252 seconds]
zetef has quit [Remote host closed the connection]
wand has quit [Remote host closed the connection]
wand has joined #osdev
freakazoid332 has joined #osdev
Starfoxxes has quit [Ping timeout: 260 seconds]
Left_Turn has quit [Read error: Connection reset by peer]
koolazer has joined #osdev
* geist hears VAX