[lkml]   [2000]   [Sep]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: elevator code

Hans Reiser wrote:
> If you modify this to only be invoked when starvation of is detected, that is, to only prevent
> filling the removing queue when the oldest unsatisfied request exceeds some tunable age, then I like
> the model for those situations where real time I/O is not needed. We also need some functionality
> that gives priority to a process that has I/O that has been pending for more than that process has
> stated its maximum pending I/O time is, and this does not address that issue.


Relative to the priority issue, since this model allows "smart" drivers
to take the entire chain of I/O requests based on driver internals, the
priority recognition should be there. In NetWare, many of the drivers
would take the chain in one fell swoop, and process each sequential
linkage in order and in essence "peel" them off one by one from the
list. The recognition should go there for ordering requests.

Adding something as simple as a high priority C queue (three queues) for
VM and stuff that needs this might satisfy this requirement. The driver
would then check B->C->A and move C->B if there's anything on it, and
every third pass of cleaning the B queue after it moves C->B it gets
forced to check the A queue again and go A->B.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 12:38    [W:0.093 / U:1.344 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site