Re: [PATCH] block: eliminate ELEVATOR_INSERT_REQUEUE

From: Jens Axboe
Date: Wed Mar 30 2011 - 07:23:45 EST


On 2011-03-30 13:20, Tejun Heo wrote:
> Hello, Jens.
>
> On Wed, Mar 30, 2011 at 12:16:13PM +0200, Jens Axboe wrote:
>> @@ -261,7 +261,7 @@ static bool blk_kick_flush(struct request_queue *q)
>> q->flush_rq.end_io = flush_end_io;
>>
>> q->flush_pending_idx ^= 1;
>> - elv_insert(q, &q->flush_rq, ELEVATOR_INSERT_REQUEUE);
>> + __elv_add_request(q, &q->flush_rq, ELEVATOR_INSERT_FLUSH);
>
> Shouldn't this be list_add_tail(&rq->queuelist, &q->queue_head)?
> __elv_add_request(FLUSH) calls back into blk_insert_flush() which
> decomposes the flush request from FS into flush sequence.
> blk_kick_flush() is used to insert the decomposed sequence requests
> into the dispatch queue.

Mid-air collision, I just sent that addon out to Sergey who tested. Yes
of course it should be a regular list_add, the above is a braino.

--
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/