Alice and Bob in I/O Land
[Click here to start]
This lecture is also available in
one big HTML file
Table of contents
Alice, Bob And Their Race To Disk-Haven
Alice's Adventures In Wonderland - A Partial Recap
Alice's Adventures In Wonderland - A Partial Recap - Cont.
Meet Alice - the 16KB "write" that could
Alice goes down the Rabbit hole
Alice wants to pass through the small door
Little Alice joins the (page-cached) Caucus race
Little Alice going down the (disk) elevator
Little Alice grows again - the I/O scheduler dance
Example of "iostat" output
Big Alice plays the disk Crockett - the basic elevator algorithm
Original Alice Stands to Trial - ERR_SUCCESS or ERR_IO?
Mad Hatter testifies - the small bio-s joining in
Original Alice wakes up from her write-full dream
Ecila - the "read" that came back from the cold
Through The Looking Glass - A Partial Recap
Through The Looking Glass - A Partial Recap - Cont.
Ecila passes through the looking glass
Ecila meets the red queen and (page-cachely) runs nowhere
What's in my cache?
Ecila meets the White Knight and goes to gather herself
Ecila and Humpty Dumpty have a great elevated fall
Ecila meets Twiddledee and Twiddledum - and sends them ahead
Tuning device-level read-ahead
Ecila comes back through the mirror
File-Systems and meta-data I/O
Directory hierarchy traversal and the dentry cache
Checking dentry-cache statistics
File control blocks and the inode cache
Checking inode-cache statistics
File Blocks And File Extents
File Blocks And File Extents - Cont.
Bob - the raw-"write"-er
Bob goes into I/O land
To cache or not to cache - that is the D(irect) question
What if Bob was sync(ing) harder?
boB - the reader from the "raw"
boB goes catching some rie
boB the cached Vs. boB the direct
Alice and Bob go picking an elevator
The "noop" elevator - quick and noisy
The "CFQ" elevator - "no room! no room! (at the tea party)"
I/O Priority Using "ionice"
The "deadline" elevator - "I'm late! I'm late! I'm late!"
The "anticipatory" elevator - "If you build it - they will come"
I/O and the court of law
Cartman (from South-park) looking for his father...
Why is it so hard to perform per-process I/O accounting
/proc/<pid>/io and iotop
The Linux I/O law of fatherhood
Originally written by