Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4c5d0bbd authored by Andrew Morton's avatar Andrew Morton Committed by Jens Axboe
Browse files

[PATCH] blk_execute_rq_nowait-speedup



Both elv_add_request() and generic_unplug_device() grab the queue lock
and disable interrupts, do that locally and use the __ variants.

Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarJens Axboe <axboe@suse.de>
parent b8fca1c7
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -2477,10 +2477,12 @@ void blk_execute_rq_nowait(request_queue_t *q, struct gendisk *bd_disk,
	rq->rq_disk = bd_disk;
	rq->flags |= REQ_NOMERGE;
	rq->end_io = done;
	elv_add_request(q, rq, where, 1);
	generic_unplug_device(q);
	WARN_ON(irqs_disabled());
	spin_lock_irq(q->queue_lock);
	__elv_add_request(q, rq, where, 1);
	__generic_unplug_device(q);
	spin_unlock_irq(q->queue_lock);
}

EXPORT_SYMBOL_GPL(blk_execute_rq_nowait);

/**