2005-11-09 17:13:25

by Tejun Heo

[permalink] [raw]
Subject: [PATCH] blk: run queue in elevator_switch

elevator_dispatch needs to run queue after forced dispatching;
otherwise, the queue might stall.

Signed-off-by: Tejun Heo <[email protected]>

diff --git a/block/elevator.c b/block/elevator.c
--- a/block/elevator.c
+++ b/block/elevator.c
@@ -695,6 +695,8 @@ static void elevator_switch(request_queu
;

while (q->rq.elvpriv) {
+ blk_remove_plug(q);
+ q->request_fn(q);
spin_unlock_irq(q->queue_lock);
msleep(10);
spin_lock_irq(q->queue_lock);


2005-11-10 07:43:55

by Jens Axboe

[permalink] [raw]
Subject: Re: [PATCH] blk: run queue in elevator_switch

On Thu, Nov 10 2005, Tejun Heo wrote:
> elevator_dispatch needs to run queue after forced dispatching;
> otherwise, the queue might stall.
>
> Signed-off-by: Tejun Heo <[email protected]>

Thanks, applied.

--
Jens Axboe