kernel_optimize_test/block
Bart Van Assche cd84a62e00 block, scsi: Change the preempt-only flag into a counter
The RQF_PREEMPT flag is used for three purposes:
- In the SCSI core, for making sure that power management requests
  are executed even if a device is in the "quiesced" state.
- For domain validation by SCSI drivers that use the parallel port.
- In the IDE driver, for IDE preempt requests.
Rename "preempt-only" into "pm-only" because the primary purpose of
this mode is power management. Since the power management core may
but does not have to resume a runtime suspended device before
performing system-wide suspend and since a later patch will set
"pm-only" mode as long as a block device is runtime suspended, make
it possible to set "pm-only" mode from more than one context. Since
with this change scsi_device_quiesce() is no longer idempotent, make
that function return early if it is called for a quiesced queue.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Acked-by: Martin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Cc: Jianchao Wang <jianchao.w.wang@oracle.com>
Cc: Johannes Thumshirn <jthumshirn@suse.de>
Cc: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2018-09-26 15:11:28 -06:00
..
partitions partitions/aix: append null character to print data from disk 2018-07-27 09:17:41 -06:00
badblocks.c
bfq-cgroup.c blkcg: fix ref count issue with bio_blkcg using task_css 2018-09-21 20:29:02 -06:00
bfq-iosched.c blkcg: fix ref count issue with bio_blkcg using task_css 2018-09-21 20:29:02 -06:00
bfq-iosched.h block, bfq: inject other-queue I/O into seeky idle queues on NCQ flash 2018-09-14 13:06:03 -06:00
bfq-wf2q.c block, bfq: correctly charge and reset entity service in all cases 2018-09-14 13:06:02 -06:00
bio-integrity.c block: remove bio_rewind_iter() 2018-09-06 15:12:24 -06:00
bio.c block: merge BIOVEC_SEG_BOUNDARY into biovec_phys_mergeable 2018-09-24 12:33:57 -06:00
blk-cgroup.c blkcg: rename blkg_try_get to blkg_tryget 2018-09-21 20:29:19 -06:00
blk-core.c block, scsi: Change the preempt-only flag into a counter 2018-09-26 15:11:28 -06:00
blk-exec.c
blk-flush.c
blk-integrity.c block: merge BIOVEC_SEG_BOUNDARY into biovec_phys_mergeable 2018-09-24 12:33:57 -06:00
blk-ioc.c
blk-iolatency.c blkcg: rename blkg_try_get to blkg_tryget 2018-09-21 20:29:19 -06:00
blk-lib.c
blk-map.c
blk-merge.c block: merge BIOVEC_SEG_BOUNDARY into biovec_phys_mergeable 2018-09-24 12:33:57 -06:00
blk-mq-cpumap.c
blk-mq-debugfs-zoned.c
blk-mq-debugfs.c block, scsi: Change the preempt-only flag into a counter 2018-09-26 15:11:28 -06:00
blk-mq-debugfs.h
blk-mq-pci.c
blk-mq-rdma.c
blk-mq-sched.c blk-mq: init hctx sched after update ctx and hctx mapping 2018-08-21 09:02:55 -06:00
blk-mq-sched.h blk-mq: init hctx sched after update ctx and hctx mapping 2018-08-21 09:02:55 -06:00
blk-mq-sysfs.c
blk-mq-tag.c blk-mq: Document the functions that iterate over requests 2018-09-21 20:30:22 -06:00
blk-mq-tag.h
blk-mq-virtio.c
blk-mq.c for-4.19/post-20180822 2018-08-22 13:38:05 -07:00
blk-mq.h
blk-pm.c block: Move power management code into a new source file 2018-09-26 15:11:28 -06:00
blk-pm.h block: Move power management code into a new source file 2018-09-26 15:11:28 -06:00
blk-rq-qos.c blk-rq-qos: make depth comparisons unsigned 2018-07-22 11:30:53 -06:00
blk-rq-qos.h blk-rq-qos: make depth comparisons unsigned 2018-07-22 11:30:53 -06:00
blk-settings.c block: allow max_discard_segments to be stacked 2018-07-24 14:46:39 -06:00
blk-softirq.c
blk-stat.c
blk-stat.h
blk-sysfs.c blk-wbt: don't maintain inflight counts if disabled 2018-08-23 09:34:46 -06:00
blk-tag.c
blk-throttle.c blkcg: consolidate bio_issue_init to be a part of core 2018-09-21 20:29:08 -06:00
blk-timeout.c
blk-wbt.c blk-wbt: remove dead code 2018-08-27 13:32:12 -06:00
blk-wbt.h
blk-zoned.c
blk.h block: remove ARCH_BIOVEC_PHYS_MERGEABLE 2018-09-26 08:45:11 -06:00
bounce.c blkcg: remove bio->bi_css and instead use bio->bi_blkg 2018-09-21 20:29:13 -06:00
bsg-lib.c block/bsg-lib: use PTR_ERR_OR_ZERO to simplify the flow path 2018-08-01 09:13:03 -06:00
bsg.c block: bsg: move atomic_t ref_count variable to refcount API 2018-08-27 19:17:02 -06:00
cfq-iosched.c blkcg: fix ref count issue with bio_blkcg using task_css 2018-09-21 20:29:02 -06:00
cmdline-parser.c
compat_ioctl.c
deadline-iosched.c
elevator.c block: Move power management code into a new source file 2018-09-26 15:11:28 -06:00
genhd.c block: Track DISCARD statistics and output them in stat and diskstat 2018-07-18 08:44:22 -06:00
ioctl.c
ioprio.c
Kconfig block: Move power management code into a new source file 2018-09-26 15:11:28 -06:00
Kconfig.iosched
kyber-iosched.c
Makefile block: Move power management code into a new source file 2018-09-26 15:11:28 -06:00
mq-deadline.c
noop-iosched.c
opal_proto.h
partition-generic.c block: Track DISCARD statistics and output them in stat and diskstat 2018-07-18 08:44:22 -06:00
scsi_ioctl.c
sed-opal.c
t10-pi.c block: move dif_prepare/dif_complete functions to block layer 2018-07-30 08:27:02 -06:00