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