[PATCH v3 0/3] Implement BFQ per-device weight interface
From: Fam Zheng
Date: Tue Aug 27 2019 - 23:55:02 EST
v3: Pick up rev-by and ack-by from Paolo and Tejun.
Add commit message to patch 3.
(Revision starting from v2 since v1 was used off-list)
Hi Paolo and others,
This adds to BFQ the missing per-device weight interfaces:
blkio.bfq.weight_device on legacy and io.bfq.weight on unified. The
implementation pretty closely resembles what we had in CFQ and the parsing code
is basically reused.
Tests
=====
Using two cgroups and three block devices, having weights setup as:
Cgroup test1 test2
============================================
default 100 500
sda 500 100
sdb default default
sdc 200 200
cgroup v1 runs
--------------
sda.test1.out: READ: bw=913MiB/s
sda.test2.out: READ: bw=183MiB/s
sdb.test1.out: READ: bw=213MiB/s
sdb.test2.out: READ: bw=1054MiB/s
sdc.test1.out: READ: bw=650MiB/s
sdc.test2.out: READ: bw=650MiB/s
cgroup v2 runs
--------------
sda.test1.out: READ: bw=915MiB/s
sda.test2.out: READ: bw=184MiB/s
sdb.test1.out: READ: bw=216MiB/s
sdb.test2.out: READ: bw=1069MiB/s
sdc.test1.out: READ: bw=621MiB/s
sdc.test2.out: READ: bw=622MiB/s
Fam Zheng (3):
bfq: Fix the missing barrier in __bfq_entity_update_weight_prio
bfq: Extract bfq_group_set_weight from bfq_io_set_weight_legacy
bfq: Add per-device weight
block/bfq-cgroup.c | 151 +++++++++++++++++++++++++++++++++-----------
block/bfq-iosched.h | 3 +
block/bfq-wf2q.c | 2 +
3 files changed, 119 insertions(+), 37 deletions(-)
--
2.22.1