forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'for-4.12/block' of git://git.kernel.dk/linux-block
Pull block layer updates from Jens Axboe: - Add BFQ IO scheduler under the new blk-mq scheduling framework. BFQ was initially a fork of CFQ, but subsequently changed to implement fairness based on B-WF2Q+, a modified variant of WF2Q. BFQ is meant to be used on desktop type single drives, providing good fairness. From Paolo. - Add Kyber IO scheduler. This is a full multiqueue aware scheduler, using a scalable token based algorithm that throttles IO based on live completion IO stats, similary to blk-wbt. From Omar. - A series from Jan, moving users to separately allocated backing devices. This continues the work of separating backing device life times, solving various problems with hot removal. - A series of updates for lightnvm, mostly from Javier. Includes a 'pblk' target that exposes an open channel SSD as a physical block device. - A series of fixes and improvements for nbd from Josef. - A series from Omar, removing queue sharing between devices on mostly legacy drivers. This helps us clean up other bits, if we know that a queue only has a single device backing. This has been overdue for more than a decade. - Fixes for the blk-stats, and improvements to unify the stats and user windows. This both improves blk-wbt, and enables other users to register a need to receive IO stats for a device. From Omar. - blk-throttle improvements from Shaohua. This provides a scalable framework for implementing scalable priotization - particularly for blk-mq, but applicable to any type of block device. The interface is marked experimental for now. - Bucketized IO stats for IO polling from Stephen Bates. This improves efficiency of polled workloads in the presence of mixed block size IO. - A few fixes for opal, from Scott. - A few pulls for NVMe, including a lot of fixes for NVMe-over-fabrics. From a variety of folks, mostly Sagi and James Smart. - A series from Bart, improving our exposed info and capabilities from the blk-mq debugfs support. - A series from Christoph, cleaning up how handle WRITE_ZEROES. - A series from Christoph, cleaning up the block layer handling of how we track errors in a request. On top of being a nice cleanup, it also shrinks the size of struct request a bit. - Removal of mg_disk and hd (sorry Linus) by Christoph. The former was never used by platforms, and the latter has outlived it's usefulness. - Various little bug fixes and cleanups from a wide variety of folks. * 'for-4.12/block' of git://git.kernel.dk/linux-block: (329 commits) block: hide badblocks attribute by default blk-mq: unify hctx delay_work and run_work block: add kblock_mod_delayed_work_on() blk-mq: unify hctx delayed_run_work and run_work nbd: fix use after free on module unload MAINTAINERS: bfq: Add Paolo as maintainer for the BFQ I/O scheduler blk-mq-sched: alloate reserved tags out of normal pool mtip32xx: use runtime tag to initialize command header scsi: Implement blk_mq_ops.show_rq() blk-mq: Add blk_mq_ops.show_rq() blk-mq: Show operation, cmd_flags and rq_flags names blk-mq: Make blk_flags_show() callers append a newline character blk-mq: Move the "state" debugfs attribute one level down blk-mq: Unregister debugfs attributes earlier blk-mq: Only unregister hctxs for which registration succeeded blk-mq-debugfs: Rename functions for registering and unregistering the mq directory blk-mq: Let blk_mq_debugfs_register() look up the queue name blk-mq: Register <dev>/queue/mq after having registered <dev>/queue ide-pm: always pass 0 error to ide_complete_rq in ide_do_devset ide-pm: always pass 0 error to __blk_end_request_all ..
- Loading branch information
Showing
255 changed files
with
24,643 additions
and
6,152 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -213,14 +213,8 @@ What: /sys/block/<disk>/queue/discard_zeroes_data | |
Date: May 2011 | ||
Contact: Martin K. Petersen <[email protected]> | ||
Description: | ||
Devices that support discard functionality may return | ||
stale or random data when a previously discarded block | ||
is read back. This can cause problems if the filesystem | ||
expects discarded blocks to be explicitly cleared. If a | ||
device reports that it deterministically returns zeroes | ||
when a discarded area is read the discard_zeroes_data | ||
parameter will be set to one. Otherwise it will be 0 and | ||
the result of reading a discarded area is undefined. | ||
Will always return 0. Don't rely on any specific behavior | ||
for discards, and don't read this file. | ||
|
||
What: /sys/block/<disk>/queue/write_same_max_bytes | ||
Date: January 2012 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
Kyber I/O scheduler tunables | ||
=========================== | ||
|
||
The only two tunables for the Kyber scheduler are the target latencies for | ||
reads and synchronous writes. Kyber will throttle requests in order to meet | ||
these target latencies. | ||
|
||
read_lat_nsec | ||
------------- | ||
Target latency for reads (in nanoseconds). | ||
|
||
write_lat_nsec | ||
-------------- | ||
Target latency for synchronous writes (in nanoseconds). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -43,11 +43,6 @@ large discards are issued, setting this value lower will make Linux issue | |
smaller discards and potentially help reduce latencies induced by large | ||
discard operations. | ||
|
||
discard_zeroes_data (RO) | ||
------------------------ | ||
When read, this file will show if the discarded block are zeroed by the | ||
device or not. If its value is '1' the blocks are zeroed otherwise not. | ||
|
||
hw_sector_size (RO) | ||
------------------- | ||
This is the hardware sector size of the device, in bytes. | ||
|
@@ -192,5 +187,11 @@ scaling back writes. Writing a value of '0' to this file disables the | |
feature. Writing a value of '-1' to this file resets the value to the | ||
default setting. | ||
|
||
throttle_sample_time (RW) | ||
------------------------- | ||
This is the time window that blk-throttle samples data, in millisecond. | ||
blk-throttle makes decision based on the samplings. Lower time means cgroups | ||
have more smooth throughput, but higher CPU overhead. This exists only when | ||
CONFIG_BLK_DEV_THROTTLING_LOW is enabled. | ||
|
||
Jens Axboe <[email protected]>, February 2009 |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
pblk: Physical Block Device Target | ||
================================== | ||
|
||
pblk implements a fully associative, host-based FTL that exposes a traditional | ||
block I/O interface. Its primary responsibilities are: | ||
|
||
- Map logical addresses onto physical addresses (4KB granularity) in a | ||
logical-to-physical (L2P) table. | ||
- Maintain the integrity and consistency of the L2P table as well as its | ||
recovery from normal tear down and power outage. | ||
- Deal with controller- and media-specific constrains. | ||
- Handle I/O errors. | ||
- Implement garbage collection. | ||
- Maintain consistency across the I/O stack during synchronization points. | ||
|
||
For more information please refer to: | ||
|
||
http://lightnvm.io | ||
|
||
which maintains updated FAQs, manual pages, technical documentation, tools, | ||
contacts, etc. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2544,6 +2544,14 @@ F: block/ | |
F: kernel/trace/blktrace.c | ||
F: lib/sbitmap.c | ||
|
||
BFQ I/O SCHEDULER | ||
M: Paolo Valente <[email protected]> | ||
M: Jens Axboe <[email protected]> | ||
L: [email protected] | ||
S: Maintained | ||
F: block/bfq-* | ||
F: Documentation/block/bfq-iosched.txt | ||
|
||
BLOCK2MTD DRIVER | ||
M: Joern Engel <[email protected]> | ||
L: [email protected] | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.