| From: |
| Fam Zheng <zhengfeiran-AT-bytedance.com> |
| To: |
| linux-kernel-AT-vger.kernel.org |
| Subject: |
| [PATCH v2 0/3] Implement BFQ per-device weight interface |
| Date: |
| Mon, 5 Aug 2019 14:38:04 +0800 |
| Message-ID: |
| <20190805063807.9494-1-zhengfeiran@bytedance.com> |
| Cc: |
| axboe-AT-kernel.dk, fam-AT-euphon.net, paolo.valente-AT-linaro.org, duanxiongchun-AT-bytedance.com, linux-block-AT-vger.kernel.org, tj-AT-kernel.org, cgroups-AT-vger.kernel.org, zhangjiachen.jc-AT-bytedance.com |
| Archive-link: |
| Article |
(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.11.0