Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

doc, block, bfq: add information on bfq execution time

The execution time of BFQ has been slightly lowered. Report the new
execution time in BFQ documentation.

Signed-off-by: Paolo Valente <paolo.valente@linaro.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>

authored by

Paolo Valente and committed by
Jens Axboe
4438cf50 fffca087

+22 -7
+22 -7
Documentation/block/bfq-iosched.txt
··· 20 20 details on how to configure BFQ for the desired tradeoff between 21 21 latency and throughput, or on how to maximize throughput. 22 22 23 - BFQ has a non-null overhead, which limits the maximum IOPS that a CPU 24 - can process for a device scheduled with BFQ. To give an idea of the 25 - limits on slow or average CPUs, here are, first, the limits of BFQ for 26 - three different CPUs, on, respectively, an average laptop, an old 27 - desktop, and a cheap embedded system, in case full hierarchical 28 - support is enabled (i.e., CONFIG_BFQ_GROUP_IOSCHED is set), but 29 - CONFIG_DEBUG_BLK_CGROUP is not set (Section 4-2): 23 + As every I/O scheduler, BFQ adds some overhead to per-I/O-request 24 + processing. To give an idea of this overhead, the total, 25 + single-lock-protected, per-request processing time of BFQ---i.e., the 26 + sum of the execution times of the request insertion, dispatch and 27 + completion hooks---is, e.g., 1.9 us on an Intel Core i7-2760QM@2.40GHz 28 + (dated CPU for notebooks; time measured with simple code 29 + instrumentation, and using the throughput-sync.sh script of the S 30 + suite [1], in performance-profiling mode). To put this result into 31 + context, the total, single-lock-protected, per-request execution time 32 + of the lightest I/O scheduler available in blk-mq, mq-deadline, is 0.7 33 + us (mq-deadline is ~800 LOC, against ~10500 LOC for BFQ). 34 + 35 + Scheduling overhead further limits the maximum IOPS that a CPU can 36 + process (already limited by the execution of the rest of the I/O 37 + stack). To give an idea of the limits with BFQ, on slow or average 38 + CPUs, here are, first, the limits of BFQ for three different CPUs, on, 39 + respectively, an average laptop, an old desktop, and a cheap embedded 40 + system, in case full hierarchical support is enabled (i.e., 41 + CONFIG_BFQ_GROUP_IOSCHED is set), but CONFIG_DEBUG_BLK_CGROUP is not 42 + set (Section 4-2): 30 43 - Intel i7-4850HQ: 400 KIOPS 31 44 - AMD A8-3850: 250 KIOPS 32 45 - ARM CortexTM-A53 Octa-core: 80 KIOPS ··· 579 566 Slightly extended version: 580 567 http://algogroup.unimore.it/people/paolo/disk_sched/bfq-v1-suite- 581 568 results.pdf 569 + 570 + [3] https://github.com/Algodev-github/S