lkml.org 
[lkml]   [2011]   [Mar]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] block: eliminate ELEVATOR_INSERT_REQUEUE
On 2011-03-30 09:57, Tejun Heo wrote:
> On Wed, Mar 30, 2011 at 09:41:23AM +0200, Tejun Heo wrote:
>> IIRC, at least in the requeue path, some drivers depend on front
>> queueing for forward progress guarantee. Forward progress for
>> prepping is guaranteed by mempool (or something like that) and when
>> the request is retried, it should stay at the front of the queue;
>> otherwise, prepping can stall with prepped requests stuck behind
>> unprepped ones.
>
> After writing the above, I think the current flush implementation
> actually is violating the above. I think the problem is over-use of
> front insertion. Flush can just append to the dispatch queue. Front
> insertion should only be used by requeueing, really.

Pure front insert should be used for requeue and internal commands (like
spin up this drive, or get error information). Flush should append to
the dispatch list.

--
Jens Axboe



\
 
 \ /
  Last update: 2011-03-30 10:01    [from the cache]
©2003-2011 Jasper Spaans