kernel_optimize_test/drivers/md
Mikulas Patocka b3c5fd3052 dm crypt: sort writes
Write requests are sorted in a red-black tree structure and are
submitted in the sorted order.

In theory the sorting should be performed by the underlying disk
scheduler, however, in practice the disk scheduler only accepts and
sorts a finite number of requests.  To allow the sorting of all
requests, dm-crypt needs to implement its own sorting.

The overhead associated with rbtree-based sorting is considered
negligible so it is not used conditionally.  Even on SSD sorting can be
beneficial since in-order request dispatch promotes lower latency IO
completion to the upper layers.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
2015-02-16 11:11:15 -05:00
..
bcache md/bcache: use generic io stats accounting functions to simplify io stat accounting 2014-11-24 08:05:12 -07:00
persistent-data dm space map disk: fix sm_disk_count_is_more_than_one() 2015-02-13 19:32:58 -05:00
bitmap.c md: remove mddev_lock() from md_attr_show() 2015-02-06 09:32:55 +11:00
bitmap.h
dm-bio-prison.c dm bio prison: introduce support for locking ranges of blocks 2014-11-10 15:25:30 -05:00
dm-bio-prison.h dm bio prison: introduce support for locking ranges of blocks 2014-11-10 15:25:30 -05:00
dm-bio-record.h
dm-bufio.c dm bufio: fix time comparison to use time_after_eq() 2015-02-09 13:06:48 -05:00
dm-bufio.h
dm-builtin.c
dm-cache-block-types.h dm cache: revert "remove remainder of distinct discard block size" 2014-11-10 15:25:30 -05:00
dm-cache-metadata.c dm cache: fix missing ERR_PTR returns and handling 2015-01-28 09:59:20 -05:00
dm-cache-metadata.h dm cache: revert "remove remainder of distinct discard block size" 2014-11-10 15:25:30 -05:00
dm-cache-policy-cleaner.c
dm-cache-policy-internal.h
dm-cache-policy-mq.c dm cache policy mq: simplify ability to promote sequential IO to the cache 2014-11-10 15:25:30 -05:00
dm-cache-policy.c
dm-cache-policy.h
dm-cache-target.c - Most significant change this cycle is request-based DM now supports 2015-02-12 16:36:31 -08:00
dm-crypt.c dm crypt: sort writes 2015-02-16 11:11:15 -05:00
dm-delay.c
dm-era-target.c
dm-exception-store.c
dm-exception-store.h
dm-flakey.c
dm-io.c dm io: reject unsupported DISCARD requests with EOPNOTSUPP 2015-02-13 19:51:09 -05:00
dm-ioctl.c dm ioctl: fix stale comment above dm_get_inactive_table() 2015-02-09 13:06:48 -05:00
dm-kcopyd.c
dm-linear.c
dm-log-userspace-base.c dm: use time_in_range() and time_after() 2015-02-09 13:06:48 -05:00
dm-log-userspace-transfer.c dm log userspace: fix memory leak in dm_ulog_tfr_init failure path 2014-10-05 20:03:38 -04:00
dm-log-userspace-transfer.h
dm-log.c
dm-mpath.c dm mpath: simplify failure path of dm_multipath_init() 2015-02-09 13:06:49 -05:00
dm-mpath.h
dm-path-selector.c
dm-path-selector.h
dm-queue-length.c
dm-raid1.c dm mirror: do not degrade the mirror on discard error 2015-02-13 19:50:46 -05:00
dm-raid.c - Most significant change this cycle is request-based DM now supports 2015-02-12 16:36:31 -08:00
dm-region-hash.c
dm-round-robin.c
dm-service-time.c
dm-snap-persistent.c dm snapshot: remove unnecessary NULL checks before vfree() calls 2015-02-09 13:06:49 -05:00
dm-snap-transient.c
dm-snap.c
dm-stats.c - Significant DM thin-provisioning performance improvements to meet 2014-12-08 21:10:03 -08:00
dm-stats.h
dm-stripe.c dm stripe: fix potential for leak in stripe_ctr error path 2014-10-10 22:05:18 -04:00
dm-switch.c
dm-sysfs.c
dm-table.c dm: inherit QUEUE_FLAG_SG_GAPS flags from underlying queues 2015-02-11 10:25:46 -05:00
dm-target.c dm: allocate requests in target when stacking on blk-mq devices 2015-02-09 13:06:47 -05:00
dm-thin-metadata.c dm thin metadata: remove unused dm_pool_get_data_block_size() 2015-02-09 13:06:49 -05:00
dm-thin-metadata.h dm thin metadata: remove unused dm_pool_get_data_block_size() 2015-02-09 13:06:49 -05:00
dm-thin.c - Most significant change this cycle is request-based DM now supports 2015-02-12 16:36:31 -08:00
dm-uevent.c
dm-uevent.h
dm-verity.c
dm-zero.c
dm.c - Most significant change this cycle is request-based DM now supports 2015-02-12 16:36:31 -08:00
dm.h dm table: train hybrid target type detection to select blk-mq if appropriate 2015-02-09 13:06:47 -05:00
faulty.c md: rename ->stop to ->free 2015-02-04 08:35:52 +11:00
Kconfig - Most significant change this cycle is request-based DM now supports 2015-02-12 16:36:31 -08:00
linear.c md: rename ->stop to ->free 2015-02-04 08:35:52 +11:00
linear.h
Makefile
md.c md: make reconfig_mutex optional for writes to md sysfs files. 2015-02-06 09:32:56 +11:00
md.h md: wakeup thread upon rdev_dec_pending() 2015-02-06 09:32:57 +11:00
multipath.c md: rename ->stop to ->free 2015-02-04 08:35:52 +11:00
multipath.h
raid0.c md: rename ->stop to ->free 2015-02-04 08:35:52 +11:00
raid0.h
raid1.c md: rename ->stop to ->free 2015-02-04 08:35:52 +11:00
raid1.h md: make ->congested robust against personality changes. 2015-02-04 08:35:52 +11:00
raid5.c md: make reconfig_mutex optional for writes to md sysfs files. 2015-02-06 09:32:56 +11:00
raid5.h md: make ->congested robust against personality changes. 2015-02-04 08:35:52 +11:00
raid10.c md/raid10: fix conversion from RAID0 to RAID10 2015-02-12 14:09:57 +11:00
raid10.h md: make ->congested robust against personality changes. 2015-02-04 08:35:52 +11:00