epony has quit [Remote host closed the connection]
epony has joined #osdev
Turn_Left has quit [Ping timeout: 260 seconds]
[_] has joined #osdev
[itchyjunk] has quit [Ping timeout: 260 seconds]
LostFrog is now known as PapaFrog
zetef has quit [Remote host closed the connection]
zetef has joined #osdev
zetef has quit [Read error: Connection reset by peer]
[itchyjunk] has joined #osdev
[_] has quit [Ping timeout: 245 seconds]
dra has quit [Ping timeout: 246 seconds]
Turn_Left has joined #osdev
Turn_Left has quit [Read error: Connection reset by peer]
heat has quit [Ping timeout: 245 seconds]
zxrom has quit [Remote host closed the connection]
zxrom has joined #osdev
navi has quit [Quit: WeeChat 4.0.4]
dude12312414 has joined #osdev
dude12312414 has quit [Client Quit]
gog has quit [Ping timeout: 255 seconds]
zxrom has quit [Quit: Leaving]
[_] has joined #osdev
[itchyjunk] has quit [Ping timeout: 245 seconds]
zid` has quit [Read error: Connection reset by peer]
zid has joined #osdev
[itchyjunk] has joined #osdev
[_] has quit [Ping timeout: 245 seconds]
masoudd_ has joined #osdev
gbowne1 has quit [Quit: Leaving]
masoudd_ has quit [Ping timeout: 245 seconds]
<geist>
classically with spinny drives, yes
<geist>
you wereoh yay was scrolled way back
masoudd_ has joined #osdev
Ellenor has quit [Ping timeout: 256 seconds]
gog has joined #osdev
[_] has joined #osdev
[itchyjunk] has quit [Ping timeout: 260 seconds]
GeDaMo has joined #osdev
<kof123>
well funny enough that seems a place where records would come in handy. is it actually faster? no idea, just seems it would cut down on arbitrary-size requests
<kof123>
it would seem simpler, anyways
roper has joined #osdev
goliath has joined #osdev
Left_Turn has joined #osdev
GeDaMo has quit [Ping timeout: 245 seconds]
masoudd_ has quit [Ping timeout: 255 seconds]
GeDaMo has joined #osdev
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 268 seconds]
heat has joined #osdev
masoudd_ has joined #osdev
[itchyjunk] has joined #osdev
[_] has quit [Ping timeout: 268 seconds]
gildasio has quit [Remote host closed the connection]
navi has joined #osdev
gildasio has joined #osdev
Turn_Left has quit [Ping timeout: 260 seconds]
Turn_Left has joined #osdev
sbalmos has quit [Remote host closed the connection]
sbalmos has joined #osdev
xenos1984 has quit [Read error: Connection reset by peer]
xenos1984 has joined #osdev
zxrom has joined #osdev
epony has quit [Remote host closed the connection]
FreeFull has quit [Remote host closed the connection]
FreeFull has joined #osdev
FreeFull has quit [Remote host closed the connection]
epony has joined #osdev
FreeFull has joined #osdev
FreeFull has quit [Client Quit]
epony has quit [Read error: Connection reset by peer]
epony has joined #osdev
FreeFull has joined #osdev
masoudd_ has quit [Ping timeout: 264 seconds]
heat has quit [Remote host closed the connection]
heat has joined #osdev
heat has quit [Remote host closed the connection]
heat has joined #osdev
gog has quit [Quit: Konversation terminated!]
Left_Turn has joined #osdev
heat has quit [Remote host closed the connection]
heat has joined #osdev
Turn_Left has quit [Ping timeout: 260 seconds]
zxrom has quit [Ping timeout: 256 seconds]
gog has joined #osdev
heat_ has joined #osdev
heat has quit [Read error: Connection reset by peer]
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 260 seconds]
zxrom has joined #osdev
xenos1984 has quit [Read error: Connection reset by peer]
qubasa has quit [Remote host closed the connection]
SGautam has joined #osdev
<heat_>
geist, wdym?
heat_ is now known as heat
zetef has joined #osdev
xenos1984 has joined #osdev
Matt|home has joined #osdev
xenos1984 has quit [Ping timeout: 268 seconds]
[_] has joined #osdev
[itchyjunk] has quit [Ping timeout: 246 seconds]
xenos1984 has joined #osdev
dude12312414 has joined #osdev
dude12312414 has quit [Remote host closed the connection]
masoudd_ has joined #osdev
qubasa has joined #osdev
<kof123>
i assume the ghost meant spinny drives ...spin...hence why you might wish to order reads and writes :D
tanto has quit [Quit: No Ping reply in 180 seconds.]
tanto has joined #osdev
bauen1 has quit [Quit: leaving]
goliath has quit [Quit: SIGSEGV]
PublicWiFi has quit [Quit: WeeChat 4.0.3]
PublicWiFi has joined #osdev
gbowne1 has joined #osdev
zetef has quit [Remote host closed the connection]
heat has quit [Remote host closed the connection]
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
heat has joined #osdev
masoudd__ has joined #osdev
masoudd_ has quit [Ping timeout: 255 seconds]
SGautam has quit [Quit: Connection closed for inactivity]
bliminse has quit [Ping timeout: 260 seconds]
Left_Turn has joined #osdev
Turn_Left has quit [Ping timeout: 252 seconds]
[itchyjunk] has joined #osdev
[_] has quit [Ping timeout: 268 seconds]
bauen1 has joined #osdev
roper has quit [Quit: leaving]
vdamewood has joined #osdev
[_] has joined #osdev
[itchyjunk] has quit [Ping timeout: 268 seconds]
bliminse has joined #osdev
goliath has joined #osdev
dude12312414 has joined #osdev
dude12312414 has quit [Client Quit]
masoudd__ has quit [Ping timeout: 245 seconds]
<geist>
heat: oh i mean traditionally when you had spinny drives without a lot of logic in there, the whole ordering of pending IO was really really important
<geist>
re: elevator IO schedulers, etc
<geist>
but yeah i think you know that. i was answering your first question because i was scrolled back at the time
gbowne1 has quit [Remote host closed the connection]
gbowne1 has joined #osdev
<heat>
yeah my big question is if the order actually matters in any case
<heat>
and FWIW, while ordering isn't really very important now, merging is
<heat>
linux has this idea called blk request plugging, where any requests you submit while plugged get merged
<heat>
(no idea if other systems do it)
<zid>
When drives got NCQ that was a Big Deal
<heat>
so basically the functions doing the "actual IO" don't need to bother too much with making sure everything is sent in the optimal batches
<heat>
i.e if you're reading N blocks at a time, the ext2 driver can submit N reads and those may or may not be merged into a smaller number of requests
<bslsk05>
ixbtlabs.com: WD Caviar RE2 WD4000YR and Caviar SE16 WD4000KD
<heat>
i don't actually know what NCQ is
<zid>
native command queuing
<heat>
besides knowing it's a thing
<heat>
yeah but what does it do?
<zid>
reorders io
<zid>
on an internal buffer
<zid>
because it knows where its heads are etc
<heat>
oh so they do an elevator algorithm in the controller?
<zid>
yep
<heat>
that's cool
<heat>
does it have any effect on SATA SSDs?
<zid>
no idea, that seems like an nvme thing for sure though
<zid>
given they support a gajillion iops and have to do wear levelling and block replacement and crap, I imagine it's all in THE BLOB
<heat>
yeh the SATA controller might have no way of knowing how to reorder things there
<heat>
you probably would need to dispatch everything to the SSD and hope it figures things out
<heat>
i.e is this block in the DRAM cache, etc
<heat>
whatever they do
<geist>
thing is though NCQ is only max 32 deep, so seems like if you had a big pile of stuff > 32 you may still want to submit stuff at least somewhat clustered
<zid>
32 i/o requests is a lot for a 1.5gbit sata drive though
<geist>
for spinny stuff
<geist>
yeah for SSD i think it's hard to get to 32 outstanding requests because they're served so fast
<geist>
like average desktop stuff i think rarely gets past 1 deep queue
<zid>
Like, the way you get lots of outstanding i/o requests on a hdd is to copy a bunch of small files
<zid>
and we *expect* that to suck
<geist>
there may still be some advantage to keepingy our own queue and submitting them basically 1 or 2 at a time to the SSD though (SATA or NVME)