Commit 233f0bf4 authored by Paolo Valente's avatar Paolo Valente Committed by Jens Axboe

doc, block, bfq: fix some typos and remove stale stuff

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: default avatarPaolo Valente <paolo.valente@linaro.org>
Reviewed-by: default avatarJeremy Hickman <jeremywh7@gmail.com>
Reviewed-by: default avatarLaurentiu Nicola <lnicola@dend.ro>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 43cade80
...@@ -16,14 +16,16 @@ throughput. So, when needed for achieving a lower latency, BFQ builds ...@@ -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 schedules that may lead to a lower throughput. If your main or only
goal, for a given device, is to achieve the maximum-possible goal, for a given device, is to achieve the maximum-possible
throughput at all times, then do switch off all low-latency heuristics 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 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 performing at most ~30K IOPS; at most ~50 KIOPS on faster CPUs. As a
reference, 30-50 KIOPS correspond to very high bandwidths with 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 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 to 120-200 MB/s with 4KB random I/O. BFQ is currently being tested on
multi-queue devices. multi-queue devices too.
The table of contents follow. Impatients can just jump to Section 3. 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. ...@@ -154,10 +156,10 @@ plus a lot of code, are borrowed from CFQ.
- With respect to idling for service guarantees, if several - With respect to idling for service guarantees, if several
processes are competing for the device at the same time, but processes are competing for the device at the same time, but
all processes (and groups, after the following commit) have all processes and groups have the same weight, then BFQ
the same weight, then BFQ guarantees the expected throughput guarantees the expected throughput distribution without ever
distribution without ever idling the device. Throughput is idling the device. Throughput is thus as high as possible in
thus as high as possible in this common scenario. this common scenario.
- If low-latency mode is enabled (default configuration), BFQ - If low-latency mode is enabled (default configuration), BFQ
executes some special heuristics to detect interactive and soft executes some special heuristics to detect interactive and soft
...@@ -191,10 +193,7 @@ plus a lot of code, are borrowed from CFQ. ...@@ -191,10 +193,7 @@ plus a lot of code, are borrowed from CFQ.
- Queues are scheduled according to a variant of WF2Q+, named - Queues are scheduled according to a variant of WF2Q+, named
B-WF2Q+, and implemented using an augmented rb-tree to preserve an 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 O(log N) overall complexity. See [2] for more details. B-WF2Q+ is
also ready for hierarchical scheduling. However, for a cleaner also ready for hierarchical scheduling, details in Section 4.
logical breakdown, the code that enables and completes
hierarchical support is provided in the next commit, which focuses
exactly on this feature.
- B-WF2Q+ guarantees a tight deviation with respect to an ideal, - B-WF2Q+ guarantees a tight deviation with respect to an ideal,
perfectly fair, and smooth service. In particular, B-WF2Q+ 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 ...@@ -427,51 +426,6 @@ Read-only parameter, used to show the weights of the currently active
BFQ queues. 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 4. Group scheduling with BFQ
============================ ============================
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment