kernel_optimize_test/block
Christoph Hellwig 1e739730c5 block: optionally merge discontiguous discard bios into a single request
Add a new merge strategy that merges discard bios into a request until the
maximum number of discard ranges (or the maximum discard size) is reached
from the plug merging code.  I/O scheduler merging is not wired up yet
but might also be useful, although not for fast devices like NVMe which
are the only user for now.

Note that for now we don't support limiting the size of each discard range,
but if needed that can be added later.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
2017-02-08 13:43:08 -07:00
..
partitions partitions/efi: Fix integer overflow in GPT size calculation 2017-01-17 09:02:31 -07:00
badblocks.c badblocks: badblocks_set/clear update unacked_exist 2016-10-21 15:45:47 -06:00
bio-integrity.c block: remove bio_is_rw 2016-10-28 08:45:17 -06:00
bio.c block: fold cmd_type into the REQ_OP_ space 2017-01-31 14:00:44 -07:00
blk-cgroup.c blkcg: fix double free of new_blkg in blkcg_init_queue 2017-02-03 07:52:35 -07:00
blk-core.c block: optionally merge discontiguous discard bios into a single request 2017-02-08 13:43:08 -07:00
blk-exec.c block: introduce blk_rq_is_passthrough 2017-01-31 14:00:34 -07:00
blk-flush.c block: fold cmd_type into the REQ_OP_ space 2017-01-31 14:00:44 -07:00
blk-integrity.c block: Use pointer to backing_dev_info from request_queue 2017-02-02 08:20:48 -07:00
blk-ioc.c blk-mq-sched: add framework for MQ capable IO schedulers 2017-01-17 10:04:20 -07:00
blk-lib.c block: don't try to discard from __blkdev_issue_zeroout 2017-01-13 15:18:16 -07:00
blk-map.c block: fold cmd_type into the REQ_OP_ space 2017-01-31 14:00:44 -07:00
blk-merge.c block: optionally merge discontiguous discard bios into a single request 2017-02-08 13:43:08 -07:00
blk-mq-cpumap.c blk-mq: export blk_mq_map_queues 2016-11-08 17:30:00 -05:00
blk-mq-debugfs.c block: use same block debugfs directory for blk-mq and blktrace 2017-02-02 10:20:16 -07:00
blk-mq-pci.c blk_mq: linux/blk-mq.h does not include all the headers it depends on 2016-09-19 08:21:51 -06:00
blk-mq-sched.c block: enumify ELEVATOR_*_MERGE 2017-02-08 13:43:06 -07:00
blk-mq-sched.h block: free merged request in the caller 2017-02-03 09:48:28 -07:00
blk-mq-sysfs.c blk-mq: move debugfs_remove() of disk dir to blk_release_queue() 2017-02-02 10:20:16 -07:00
blk-mq-tag.c blk-mq-sched: add flush insertion into blk_mq_sched_insert_request() 2017-01-27 09:03:14 -07:00
blk-mq-tag.h blk-mq: move tags and sched_tags info from sysfs to debugfs 2017-01-27 08:17:44 -07:00
blk-mq.c block: optionally merge discontiguous discard bios into a single request 2017-02-08 13:43:08 -07:00
blk-mq.h block: use same block debugfs directory for blk-mq and blktrace 2017-02-02 10:20:16 -07:00
blk-settings.c block: optionally merge discontiguous discard bios into a single request 2017-02-08 13:43:08 -07:00
blk-softirq.c This adds a new gcc plugin named "latent_entropy". It is designed to 2016-10-15 10:03:15 -07:00
blk-stat.c blk-stat: fix a few cases of missing batch flushing 2016-12-09 13:08:35 -07:00
blk-stat.h block: add scalable completion tracking of requests 2016-11-10 13:53:26 -07:00
blk-sysfs.c block: optionally merge discontiguous discard bios into a single request 2017-02-08 13:43:08 -07:00
blk-tag.c blk-mq-sched: add framework for MQ capable IO schedulers 2017-01-17 10:04:20 -07:00
blk-throttle.c blk-throttle: Adjust two function calls together with a variable assignment 2017-01-23 08:32:15 -07:00
blk-timeout.c block: remove REQ_NO_TIMEOUT flag 2015-12-22 09:38:34 -07:00
blk-wbt.c block: Use pointer to backing_dev_info from request_queue 2017-02-02 08:20:48 -07:00
blk-wbt.h blk-wbt: allow wbt to be enabled always through sysfs 2016-11-28 10:27:03 -07:00
blk-zoned.c block: Rename blk_queue_zone_size and bdev_zone_size 2017-01-12 07:58:32 -07:00
blk.h block: optionally merge discontiguous discard bios into a single request 2017-02-08 13:43:08 -07:00
bounce.c Merge branch 'for-linus' of git://git.kernel.dk/linux-block 2015-09-19 18:57:09 -07:00
bsg-lib.c block: split scsi_request out of struct request 2017-01-27 15:08:35 -07:00
bsg.c block: fold cmd_type into the REQ_OP_ space 2017-01-31 14:00:44 -07:00
cfq-iosched.c block: enumify ELEVATOR_*_MERGE 2017-02-08 13:43:06 -07:00
cmdline-parser.c
compat_ioctl.c block: Get rid of blk_get_backing_dev_info() 2017-02-02 08:21:32 -07:00
deadline-iosched.c block: enumify ELEVATOR_*_MERGE 2017-02-08 13:43:06 -07:00
elevator.c block: enumify ELEVATOR_*_MERGE 2017-02-08 13:43:06 -07:00
genhd.c scsi, block: fix duplicate bdi name registration crashes 2017-02-02 08:23:19 -07:00
ioctl.c block: Get rid of blk_get_backing_dev_info() 2017-02-02 08:21:32 -07:00
ioprio.c block: fix use-after-free in sys_ioprio_get() 2016-07-01 08:39:24 -06:00
Kconfig block: make scsi_request and scsi ioctl support optional 2017-01-31 10:53:05 -07:00
Kconfig.iosched blk-mq-sched: allow setting of default IO scheduler 2017-01-17 10:04:31 -07:00
Makefile block: make scsi_request and scsi ioctl support optional 2017-01-31 10:53:05 -07:00
mq-deadline.c block: enumify ELEVATOR_*_MERGE 2017-02-08 13:43:06 -07:00
noop-iosched.c block: move existing elevator ops to union 2017-01-17 10:03:33 -07:00
partition-generic.c block: Rename blk_queue_zone_size and bdev_zone_size 2017-01-12 07:58:32 -07:00
scsi_ioctl.c block: fold cmd_type into the REQ_OP_ space 2017-01-31 14:00:44 -07:00
t10-pi.c block: Consolidate static integrity profile properties 2015-10-21 14:42:38 -06:00