kernel_optimize_test/block
Shaohua Li 9ba52e5812 blk-mq: don't lose requests if a stopped queue restarts
Normally if driver is busy to dispatch a request the logic is like below:
block layer:					driver:
	__blk_mq_run_hw_queue
a.						blk_mq_stop_hw_queue
b.	rq add to ctx->dispatch

later:
1.						blk_mq_start_hw_queue
2.	__blk_mq_run_hw_queue

But it's possible step 1-2 runs between a and b. And since rq isn't in
ctx->dispatch yet, step 2 will not run rq. The rq might get lost if
there are no subsequent requests kick in.

Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
2015-05-04 14:32:48 -06:00
..
partitions
bio-integrity.c
bio.c
blk-cgroup.c
blk-cgroup.h
blk-core.c block: destroy bdi before blockdev is unregistered. 2015-04-27 10:27:20 -06:00
blk-exec.c
blk-flush.c
blk-integrity.c
blk-ioc.c
blk-iopoll.c
blk-lib.c
blk-map.c
blk-merge.c
blk-mq-cpu.c
blk-mq-cpumap.c
blk-mq-sysfs.c
blk-mq-tag.c
blk-mq-tag.h
blk-mq.c blk-mq: don't lose requests if a stopped queue restarts 2015-05-04 14:32:48 -06:00
blk-mq.h
blk-settings.c
blk-softirq.c
blk-sysfs.c block: destroy bdi before blockdev is unregistered. 2015-04-27 10:27:20 -06:00
blk-tag.c
blk-throttle.c
blk-timeout.c
blk.h
bounce.c block:bounce: fix call inc_|dec_zone_page_state on different pages confuse value of NR_BOUNCE 2015-04-27 09:24:07 -06:00
bsg-lib.c
bsg.c
cfq-iosched.c
cmdline-parser.c
compat_ioctl.c
deadline-iosched.c
elevator.c elevator: fix double release of elevator module 2015-04-23 10:47:44 -06:00
genhd.c
ioctl.c
ioprio.c
Kconfig
Kconfig.iosched
Makefile
noop-iosched.c
partition-generic.c
scsi_ioctl.c
t10-pi.c