BFQ: simple elevator

Valdis.Kletnieks at vt.edu Valdis.Kletnieks at vt.edu
Wed Mar 20 17:03:39 EDT 2013


On Thu, 21 Mar 2013 02:24:23 +0700, Mulyadi Santosa said:

> pardon me for any possible sillyness, but what happen if there are
> incoming I/O operation at very nearby sectors (or perhaps at the same
> sector?)? I suppose, the elevator will prioritize them first over the
> rest? (i.e starving will happen...)

And this, my friends, is why elevators aren't as easy to do as the average
undergrad might hope - it's a lot harder to balance fairness and throughput
across all the corner cases than you might think.  It gets really fun
when you have (for example) a 'find' command moving the heads all over
the disk while another process is trying to do large amounts of streaming
I/O.  And then you'll get some idiot process that insists on doing the
occasional fsync() or syncfs() call.  Yes, it's almost always *all*
corner cases, it's very rare (unless you're an embedded system like a Tivo)
that all your I/O is one flavor that is easily handled by a simple elevator.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 865 bytes
Desc: not available
Url : http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20130320/5bc19fa6/attachment.bin 


More information about the Kernelnewbies mailing list