Re: ll_rw_blk.c fails to merge requests. Help!

From: Jens Axboe (axboe@suse.de)
Date: Thu Aug 24 2000 - 20:36:18 EST


On Thu, Aug 24 2000, David Mansfield wrote:
> Technically speaking, however, the completion of a request that was
> taken from the read list doesn't guarantee that there are still free
> slots in the read list, but rather that there *were* free slots in the
> read list at the time the request was made.
>
> If between that time and now a slew of requests were made, enough to use
> all available requests, plus one more read for the sake of argument,
> which will be put onto the wait queue. Now this new free request is put
> onto the read free_list, but the queue is not activated. Then another
> read request comes in, it will use the free request while the one on the
> wait queue starves.

That is true, doing otherwise is just too painful with the split
freelist. However, just doing a single free list and keeping count
of the entries (like we did earlier), makes this much easier to do
correctly.

-- 
* Jens Axboe <axboe@suse.de>
* SuSE Labs


- 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/



This archive was generated by hypermail 2b29 : Thu Aug 31 2000 - 21:00:14 EST