Commit a31a9738 authored by Jens Axboe's avatar Jens Axboe

block: don't use plugging on SSD devices

We just want to hand the first bits of IO to the device as fast
as possible. Gains a few percent on the IOPS rate.
Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
parent a185eb4b
...@@ -268,8 +268,7 @@ void __generic_unplug_device(struct request_queue *q) ...@@ -268,8 +268,7 @@ void __generic_unplug_device(struct request_queue *q)
{ {
if (unlikely(blk_queue_stopped(q))) if (unlikely(blk_queue_stopped(q)))
return; return;
if (!blk_remove_plug(q) && !blk_queue_nonrot(q))
if (!blk_remove_plug(q))
return; return;
q->request_fn(q); q->request_fn(q);
...@@ -1241,11 +1240,11 @@ get_rq: ...@@ -1241,11 +1240,11 @@ get_rq:
if (test_bit(QUEUE_FLAG_SAME_COMP, &q->queue_flags) || if (test_bit(QUEUE_FLAG_SAME_COMP, &q->queue_flags) ||
bio_flagged(bio, BIO_CPU_AFFINE)) bio_flagged(bio, BIO_CPU_AFFINE))
req->cpu = blk_cpu_to_group(smp_processor_id()); req->cpu = blk_cpu_to_group(smp_processor_id());
if (elv_queue_empty(q)) if (!blk_queue_nonrot(q) && elv_queue_empty(q))
blk_plug_device(q); blk_plug_device(q);
add_request(q, req); add_request(q, req);
out: out:
if (sync) if (sync || blk_queue_nonrot(q))
__generic_unplug_device(q); __generic_unplug_device(q);
spin_unlock_irq(q->queue_lock); spin_unlock_irq(q->queue_lock);
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment