Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1724472 > unrolled thread
| Started by | Paolo Valente <paolo.valente@linaro.org> |
|---|---|
| First post | 2017-08-31 20:10 +0200 |
| Last post | 2017-08-31 22:00 +0200 |
| Articles | 3 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH BUGFIX/IMPROVEMENT 0/2] doc, block, bfq: improve documentation on how to to properly configure bfq Paolo Valente <paolo.valente@linaro.org> - 2017-08-31 20:10 +0200
[PATCH BUGFIX/IMPROVEMENT 1/2] doc, block, bfq: fix some typos and remove stale stuff Paolo Valente <paolo.valente@linaro.org> - 2017-08-31 20:10 +0200
Re: [PATCH BUGFIX/IMPROVEMENT 0/2] doc, block, bfq: improve documentation on how to to properly configure bfq Jens Axboe <axboe@kernel.dk> - 2017-08-31 22:00 +0200
| From | Paolo Valente <paolo.valente@linaro.org> |
|---|---|
| Date | 2017-08-31 20:10 +0200 |
| Subject | [PATCH BUGFIX/IMPROVEMENT 0/2] doc, block, bfq: improve documentation on how to to properly configure bfq |
| Message-ID | <ukC4F-AZ-7@gated-at.bofh.it> |
Many users have reported the lack of an HOWTO for properly configuring bfq as a function of the goal one wants to achieve (max responsiveness, max throughput, ...). The second patch in this two-patch series addresses this issue by improving the file bfq-iosched.txt in such a way that it also provides some guidance on this task. The first patch fixes some issues that I have found while working on the file. Thanks, Paolo Paolo Valente (2): doc, block, bfq: fix some typos and remove stale stuff doc, block, bfq: better describe how to properly configure bfq Documentation/block/bfq-iosched.txt | 144 ++++++++++++++++-------------------- 1 file changed, 64 insertions(+), 80 deletions(-) -- 2.10.0
[toc] | [next] | [standalone]
| From | Paolo Valente <paolo.valente@linaro.org> |
|---|---|
| Date | 2017-08-31 20:10 +0200 |
| Subject | [PATCH BUGFIX/IMPROVEMENT 1/2] doc, block, bfq: fix some typos and remove stale stuff |
| Message-ID | <ukC4F-AZ-13@gated-at.bofh.it> |
| In reply to | #1724472 |
In addition to containing some typos and stale sentences, the file
bfq-iosched.txt still mentioned a set of sysfs parameters that have
been removed from this version of bfq. This commit fixes all these
issues.
Signed-off-by: Paolo Valente <paolo.valente@linaro.org>
Reviewed-by: Jeremy Hickman <jeremywh7@gmail.com>
Reviewed-by: Laurentiu Nicola <lnicola@dend.ro>
---
Documentation/block/bfq-iosched.txt | 66 ++++++-------------------------------
1 file changed, 10 insertions(+), 56 deletions(-)
diff --git a/Documentation/block/bfq-iosched.txt b/Documentation/block/bfq-iosched.txt
index 05e2822..03ff4cc 100644
--- a/Documentation/block/bfq-iosched.txt
+++ b/Documentation/block/bfq-iosched.txt
@@ -16,14 +16,16 @@ throughput. So, when needed for achieving a lower latency, BFQ builds
schedules that may lead to a lower throughput. If your main or only
goal, for a given device, is to achieve the maximum-possible
throughput at all times, then do switch off all low-latency heuristics
-for that device, by setting low_latency to 0. Full details in Section 3.
+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.
On average CPUs, the current version of BFQ can handle devices
performing at most ~30K IOPS; at most ~50 KIOPS on faster CPUs. As a
reference, 30-50 KIOPS correspond to very high bandwidths with
sequential I/O (e.g., 8-12 GB/s if I/O requests are 256 KB large), and
-to 120-200 MB/s with 4KB random I/O. BFQ has not yet been tested on
-multi-queue devices.
+to 120-200 MB/s with 4KB random I/O. BFQ is currently being tested on
+multi-queue devices too.
The table of contents follow. Impatients can just jump to Section 3.
@@ -154,10 +156,10 @@ plus a lot of code, are borrowed from CFQ.
- With respect to idling for service guarantees, if several
processes are competing for the device at the same time, but
- all processes (and groups, after the following commit) have
- the same weight, then BFQ guarantees the expected throughput
- distribution without ever idling the device. Throughput is
- thus as high as possible in this common scenario.
+ all processes and groups have the same weight, then BFQ
+ guarantees the expected throughput distribution without ever
+ idling the device. Throughput is thus as high as possible in
+ this common scenario.
- If low-latency mode is enabled (default configuration), BFQ
executes some special heuristics to detect interactive and soft
@@ -191,10 +193,7 @@ plus a lot of code, are borrowed from CFQ.
- Queues are scheduled according to a variant of WF2Q+, named
B-WF2Q+, and implemented using an augmented rb-tree to preserve an
O(log N) overall complexity. See [2] for more details. B-WF2Q+ is
- also ready for hierarchical scheduling. However, for a cleaner
- logical breakdown, the code that enables and completes
- hierarchical support is provided in the next commit, which focuses
- exactly on this feature.
+ also ready for hierarchical scheduling, details in Section 4.
- B-WF2Q+ guarantees a tight deviation with respect to an ideal,
perfectly fair, and smooth service. In particular, B-WF2Q+
@@ -427,51 +426,6 @@ Read-only parameter, used to show the weights of the currently active
BFQ queues.
-wr_ tunables
-------------
-
-BFQ exports a few parameters to control/tune the behavior of
-low-latency heuristics.
-
-wr_coeff
-
-Factor by which the weight of a weight-raised queue is multiplied. If
-the queue is deemed soft real-time, then the weight is further
-multiplied by an additional, constant factor.
-
-wr_max_time
-
-Maximum duration of a weight-raising period for an interactive task
-(ms). If set to zero (default value), then this value is computed
-automatically, as a function of the peak rate of the device. In any
-case, when the value of this parameter is read, it always reports the
-current duration, regardless of whether it has been set manually or
-computed automatically.
-
-wr_max_softrt_rate
-
-Maximum service rate below which a queue is deemed to be associated
-with a soft real-time application, and is then weight-raised
-accordingly (sectors/sec).
-
-wr_min_idle_time
-
-Minimum idle period after which interactive weight-raising may be
-reactivated for a queue (in ms).
-
-wr_rt_max_time
-
-Maximum weight-raising duration for soft real-time queues (in ms). The
-start time from which this duration is considered is automatically
-moved forward if the queue is detected to be still soft real-time
-before the current soft real-time weight-raising period finishes.
-
-wr_min_inter_arr_async
-
-Minimum period between I/O request arrivals after which weight-raising
-may be reactivated for an already busy async queue (in ms).
-
-
4. Group scheduling with BFQ
============================
--
2.10.0
[toc] | [prev] | [next] | [standalone]
| From | Jens Axboe <axboe@kernel.dk> |
|---|---|
| Date | 2017-08-31 22:00 +0200 |
| Subject | Re: [PATCH BUGFIX/IMPROVEMENT 0/2] doc, block, bfq: improve documentation on how to to properly configure bfq |
| Message-ID | <ukDN8-1yc-29@gated-at.bofh.it> |
| In reply to | #1724472 |
On 08/31/2017 12:00 PM, Paolo Valente wrote: > Many users have reported the lack of an HOWTO for properly configuring > bfq as a function of the goal one wants to achieve (max > responsiveness, max throughput, ...). The second patch in this > two-patch series addresses this issue by improving the file > bfq-iosched.txt in such a way that it also provides some guidance on > this task. The first patch fixes some issues that I have found while > working on the file. Applied for 4.14, thanks Paolo. -- Jens Axboe
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web