aboutsummaryrefslogtreecommitdiffstats
path: root/block/blk-barrier.c
diff options
context:
space:
mode:
authorCorrado Zoccolo <czoccolo@gmail.com>2009-11-26 10:02:58 +0100
committerJens Axboe <jens.axboe@oracle.com>2009-11-26 10:39:31 +0100
commite4a229196a7c676514c78f6783f8994f64bf681c (patch)
treeb2a9e72f863cfaadaad697158969214cd8bb5681 /block/blk-barrier.c
parentcfq-iosched: fix ncq detection code (diff)
downloadlinux-dev-e4a229196a7c676514c78f6783f8994f64bf681c.tar.xz
linux-dev-e4a229196a7c676514c78f6783f8994f64bf681c.zip
cfq-iosched: fix no-idle preemption logic
An incoming no-idle queue should preempt the active no-idle queue only if the active queue is idling due to service tree empty. Previous code was buggy in two ways: * it relied on service_tree field to be set on the active queue, while it is not set when the code is idling for a new request * it didn't check for the service tree empty condition, so could lead to LIFO behaviour if multiple queues with depth > 1 were preempting each other on an non-NCQ device. Reported-by: Vivek Goyal <vgoyal@redhat.com> Signed-off-by: Corrado Zoccolo <czoccolo@gmail.com> Acked-by: Vivek Goyal <vgoyal@redhat.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'block/blk-barrier.c')
0 files changed, 0 insertions, 0 deletions