Messages in this thread |  | | Date | Wed, 13 Sep 2000 10:47:51 -0600 | From | "Jeff V. Merkey" <> | Subject | Re: 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.
Hans,
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.
:-)
Jeff - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
|  |