On Tue, 14 Jun 2011, Marek Dopiera wrote: > If we want some process aware scheduling then probably we should somehow pass > the issuing process.
I've always had an issue with this concept. The idea behind keeping the buffer sorted is to minimize seeks, especially the long ones that are slowest. If you instead sort requests on when they need to complete you may end up thrashing on rotating media. I'd suggest trying to keep an incoming list that's sorted, and an operating list that's being processed and periodically flush the incoming list to the operating list. That way you can minimize the expensive seeks and keep the code complexity down. Of course I haven't tested this so it may not work so well in practice. Eduardo