forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'for-5.2/block-20190507' of git://git.kernel.dk/linux-block
Pull block updates from Jens Axboe: "Nothing major in this series, just fixes and improvements all over the map. This contains: - Series of fixes for sed-opal (David, Jonas) - Fixes and performance tweaks for BFQ (via Paolo) - Set of fixes for bcache (via Coly) - Set of fixes for md (via Song) - Enabling multi-page for passthrough requests (Ming) - Queue release fix series (Ming) - Device notification improvements (Martin) - Propagate underlying device rotational status in loop (Holger) - Removal of mtip32xx trim support, which has been disabled for years (Christoph) - Improvement and cleanup of nvme command handling (Christoph) - Add block SPDX tags (Christoph) - Cleanup/hardening of bio/bvec iteration (Christoph) - A few NVMe pull requests (Christoph) - Removal of CONFIG_LBDAF (Christoph) - Various little fixes here and there" * tag 'for-5.2/block-20190507' of git://git.kernel.dk/linux-block: (164 commits) block: fix mismerge in bvec_advance block: don't drain in-progress dispatch in blk_cleanup_queue() blk-mq: move cancel of hctx->run_work into blk_mq_hw_sysfs_release blk-mq: always free hctx after request queue is freed blk-mq: split blk_mq_alloc_and_init_hctx into two parts blk-mq: free hw queue's resource in hctx's release handler blk-mq: move cancel of requeue_work into blk_mq_release blk-mq: grab .q_usage_counter when queuing request from plug code path block: fix function name in comment nvmet: protect discovery change log event list iteration nvme: mark nvme_core_init and nvme_core_exit static nvme: move command size checks to the core nvme-fabrics: check more command sizes nvme-pci: check more command sizes nvme-pci: remove an unneeded variable initialization nvme-pci: unquiesce admin queue on shutdown nvme-pci: shutdown on timeout during deletion nvme-pci: fix psdt field for single segment sgls nvme-multipath: don't print ANA group state by default nvme-multipath: split bios with the ns_head bio_set before submitting ...
- Loading branch information
Showing
207 changed files
with
2,312 additions
and
2,257 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 |
---|---|---|
|
@@ -20,13 +20,26 @@ for that device, by setting low_latency to 0. See Section 3 for | |
details on how to configure BFQ for the desired tradeoff between | ||
latency and throughput, or on how to maximize throughput. | ||
|
||
BFQ has a non-null overhead, which limits the maximum IOPS that a CPU | ||
can process for a device scheduled with BFQ. To give an idea of the | ||
limits on slow or average CPUs, here are, first, the limits of BFQ for | ||
three different CPUs, on, respectively, an average laptop, an old | ||
desktop, and a cheap embedded system, in case full hierarchical | ||
support is enabled (i.e., CONFIG_BFQ_GROUP_IOSCHED is set), but | ||
CONFIG_DEBUG_BLK_CGROUP is not set (Section 4-2): | ||
As every I/O scheduler, BFQ adds some overhead to per-I/O-request | ||
processing. To give an idea of this overhead, the total, | ||
single-lock-protected, per-request processing time of BFQ---i.e., the | ||
sum of the execution times of the request insertion, dispatch and | ||
completion hooks---is, e.g., 1.9 us on an Intel Core [email protected] | ||
(dated CPU for notebooks; time measured with simple code | ||
instrumentation, and using the throughput-sync.sh script of the S | ||
suite [1], in performance-profiling mode). To put this result into | ||
context, the total, single-lock-protected, per-request execution time | ||
of the lightest I/O scheduler available in blk-mq, mq-deadline, is 0.7 | ||
us (mq-deadline is ~800 LOC, against ~10500 LOC for BFQ). | ||
|
||
Scheduling overhead further limits the maximum IOPS that a CPU can | ||
process (already limited by the execution of the rest of the I/O | ||
stack). To give an idea of the limits with BFQ, on slow or average | ||
CPUs, here are, first, the limits of BFQ for three different CPUs, on, | ||
respectively, an average laptop, an old desktop, and a cheap embedded | ||
system, in case full hierarchical support is enabled (i.e., | ||
CONFIG_BFQ_GROUP_IOSCHED is set), but CONFIG_DEBUG_BLK_CGROUP is not | ||
set (Section 4-2): | ||
- Intel i7-4850HQ: 400 KIOPS | ||
- AMD A8-3850: 250 KIOPS | ||
- ARM CortexTM-A53 Octa-core: 80 KIOPS | ||
|
@@ -566,3 +579,5 @@ applications. Unset this tunable if you need/want to control weights. | |
Slightly extended version: | ||
http://algogroup.unimore.it/people/paolo/disk_sched/bfq-v1-suite- | ||
results.pdf | ||
|
||
[3] https://github.com/Algodev-github/S |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -72,47 +72,44 @@ and elsewhere regarding submitting Linux kernel patches. | |
13) Has been build- and runtime tested with and without ``CONFIG_SMP`` and | ||
``CONFIG_PREEMPT.`` | ||
|
||
14) If the patch affects IO/Disk, etc: has been tested with and without | ||
``CONFIG_LBDAF.`` | ||
16) All codepaths have been exercised with all lockdep features enabled. | ||
|
||
15) All codepaths have been exercised with all lockdep features enabled. | ||
17) All new ``/proc`` entries are documented under ``Documentation/`` | ||
|
||
16) All new ``/proc`` entries are documented under ``Documentation/`` | ||
|
||
17) All new kernel boot parameters are documented in | ||
18) All new kernel boot parameters are documented in | ||
``Documentation/admin-guide/kernel-parameters.rst``. | ||
|
||
18) All new module parameters are documented with ``MODULE_PARM_DESC()`` | ||
19) All new module parameters are documented with ``MODULE_PARM_DESC()`` | ||
|
||
19) All new userspace interfaces are documented in ``Documentation/ABI/``. | ||
20) All new userspace interfaces are documented in ``Documentation/ABI/``. | ||
See ``Documentation/ABI/README`` for more information. | ||
Patches that change userspace interfaces should be CCed to | ||
[email protected]. | ||
|
||
20) Check that it all passes ``make headers_check``. | ||
21) Check that it all passes ``make headers_check``. | ||
|
||
21) Has been checked with injection of at least slab and page-allocation | ||
22) Has been checked with injection of at least slab and page-allocation | ||
failures. See ``Documentation/fault-injection/``. | ||
|
||
If the new code is substantial, addition of subsystem-specific fault | ||
injection might be appropriate. | ||
|
||
22) Newly-added code has been compiled with ``gcc -W`` (use | ||
23) Newly-added code has been compiled with ``gcc -W`` (use | ||
``make EXTRA_CFLAGS=-W``). This will generate lots of noise, but is good | ||
for finding bugs like "warning: comparison between signed and unsigned". | ||
|
||
23) Tested after it has been merged into the -mm patchset to make sure | ||
24) Tested after it has been merged into the -mm patchset to make sure | ||
that it still works with all of the other queued patches and various | ||
changes in the VM, VFS, and other subsystems. | ||
|
||
24) All memory barriers {e.g., ``barrier()``, ``rmb()``, ``wmb()``} need a | ||
25) All memory barriers {e.g., ``barrier()``, ``rmb()``, ``wmb()``} need a | ||
comment in the source code that explains the logic of what they are doing | ||
and why. | ||
|
||
25) If any ioctl's are added by the patch, then also update | ||
26) If any ioctl's are added by the patch, then also update | ||
``Documentation/ioctl/ioctl-number.txt``. | ||
|
||
26) If your modified source code depends on or uses any of the kernel | ||
27) If your modified source code depends on or uses any of the kernel | ||
APIs or features that are related to the following ``Kconfig`` symbols, | ||
then test multiple builds with the related ``Kconfig`` symbols disabled | ||
and/or ``=m`` (if that option is available) [not all of these at the | ||
|
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
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
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
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
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
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
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
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
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
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
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.