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.
Attachment:
pgpdY9ynBxJRv.pgp
Description: PGP signature
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies