From: Paolo Valente <paolo.valente@linaro.org>
To: Tejun Heo <tj@kernel.org>
Cc: Jens Axboe <axboe@kernel.dk>,
newella@fb.com, clm@fb.com, Josef Bacik <josef@toxicpanda.com>,
dennisz@fb.com, Li Zefan <lizefan@huawei.com>,
Johannes Weiner <hannes@cmpxchg.org>,
linux-kernel <linux-kernel@vger.kernel.org>,
linux-block <linux-block@vger.kernel.org>,
kernel-team@fb.com, cgroups@vger.kernel.org, ast@kernel.org,
daniel@iogearbox.net, kafai@fb.com, songliubraving@fb.com,
yhs@fb.com, bpf@vger.kernel.org
Subject: Re: [PATCHSET block/for-next] IO cost model based work-conserving porportional controller
Date: Tue, 20 Aug 2019 17:04:25 +0200 [thread overview]
Message-ID: <B5E431F7-549D-4FC4-A098-D074DF9586A1@linaro.org> (raw)
In-Reply-To: <5A63F937-F7B5-4D09-9DB4-C73D6F571D50@linaro.org>
> Il giorno 20 ago 2019, alle ore 12:48, Paolo Valente <paolo.valente@linaro.org> ha scritto:
>
>
>
>> Il giorno 14 giu 2019, alle ore 19:56, Tejun Heo <tj@kernel.org> ha scritto:
>>
>> On Thu, Jun 13, 2019 at 06:56:10PM -0700, Tejun Heo wrote:
>> ...
>>> The patchset is also available in the following git branch.
>>>
>>> git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git review-iow
>>
>> Updated patchset available in the following branch. Just build fixes
>> and cosmetic changes for now.
>>
>> git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git review-iow-v2
>>
>
> Hi Tejun,
> I'm running the kernel in your tree above, in an Ubuntu 18.04.
>
> After unmounting the v1 blkio controller that gets mounted at startup
> I have created v2 root as follows
>
> $ mount -t cgroup2 none /cgroup
>
> Then I have:
> $ ls /cgroup
> cgroup.controllers cgroup.max.descendants cgroup.stat cgroup.threads io.weight.cost_model system.slice
> cgroup.max.depth cgroup.procs cgroup.subtree_control init.scope io.weight.qos user.slice
>
> But the following command gives no output:
> $ cat /cgroup/io.weight.qos
>
> And, above all,
> $ echo 1 > /cgroup/io.weight.qos
> bash: echo: write error: Invalid argument
>
> No complain in the kernel log.
>
> What am I doing wrong? How can I make the controller work?
>
I made it, sorry for my usual silly questions (for some reason, I
thought the controller could be enabled globally by just passing a 1).
The problem now is that the controller doesn't seem to work. I've
emulated 16 clients doing I/O on a SATA SSD. One client, the target,
does random reads, while the remaining 15 clients, the interferers, do
sequential reads.
Each client is encapsulated in a separate group, but whatever weight
is assigned to the target group, the latter gets the same, extremely
low bandwidth. I have tried with even the maximum weight ratio, i.e.,
1000 for the target and only 1 for each interferer. Here are the
results, compared with BFQ (bandwidth in MB/s):
io.weight BFQ
0.2 3.7
I ran this test with the script S/bandwidth-latency/bandwidth-latency.sh
of the S benchmark suite [1], invoked as follows:
sudo ./bandwidth-latency.sh -t randread -s none -b weight -n 15 -w 1000 -W 1
The above command simply creates groups, assigns weights as follows
echo 1 > /cgroup/InterfererGroup0/io.weight
echo 1 > /cgroup/InterfererGroup1/io.weight
...
echo 1 > /cgroup/InterfererGroup14/io.weight
echo 1000 > /cgroup/interfered/io.weight
and makes one fio instance generate I/O for each group. The bandwidth
reported above is that reported by the fio instance emulating the
target client.
Am I missing something?
Thanks,
Paolo
[1] https://github.com/Algodev-github/S
> Thanks,
> Paolo
>
>> Thanks.
>>
>> --
>> tejun
>
next prev parent reply other threads:[~2019-08-20 15:04 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-14 1:56 [PATCHSET block/for-next] IO cost model based work-conserving porportional controller Tejun Heo
2019-06-14 1:56 ` [PATCH 01/10] blkcg: pass @q and @blkcg into blkcg_pol_alloc_pd_fn() Tejun Heo
2019-06-14 1:56 ` [PATCH 02/10] blkcg: make ->cpd_init_fn() optional Tejun Heo
2019-06-14 1:56 ` [PATCH 03/10] blkcg: separate blkcg_conf_get_disk() out of blkg_conf_prep() Tejun Heo
2019-06-14 1:56 ` [PATCH 04/10] block/rq_qos: add rq_qos_merge() Tejun Heo
2019-06-14 1:56 ` [PATCH 05/10] block/rq_qos: implement rq_qos_ops->queue_depth_changed() Tejun Heo
2019-06-14 1:56 ` [PATCH 06/10] blkcg: s/RQ_QOS_CGROUP/RQ_QOS_LATENCY/ Tejun Heo
2019-06-14 1:56 ` [PATCH 07/10] blk-mq: add optional request->pre_start_time_ns Tejun Heo
2019-06-14 1:56 ` [PATCH 08/10] blkcg: implement blk-ioweight Tejun Heo
2019-06-14 12:17 ` Toke Høiland-Jørgensen
2019-06-14 15:09 ` Tejun Heo
2019-06-14 20:50 ` Toke Høiland-Jørgensen
2019-06-15 15:57 ` Tejun Heo
2019-06-14 1:56 ` [PATCH 09/10] blkcg: add tools/cgroup/monitor_ioweight.py Tejun Heo
2019-06-14 1:56 ` [PATCH 10/10] blkcg: implement BPF_PROG_TYPE_IO_COST Tejun Heo
2019-06-14 11:32 ` Quentin Monnet
2019-06-14 14:52 ` Tejun Heo
2019-06-14 16:35 ` Alexei Starovoitov
2019-06-14 17:09 ` Tejun Heo
2019-06-14 17:56 ` [PATCHSET block/for-next] IO cost model based work-conserving porportional controller Tejun Heo
2019-08-20 10:48 ` Paolo Valente
2019-08-20 15:04 ` Paolo Valente [this message]
2019-08-20 15:19 ` Tejun Heo
2019-08-22 8:58 ` Paolo Valente
2019-08-31 6:53 ` Tejun Heo
2019-08-31 7:10 ` Paolo Valente
2019-08-31 11:20 ` Tejun Heo
2019-09-02 15:45 ` Paolo Valente
2019-09-02 15:56 ` Tejun Heo
2019-09-02 19:43 ` Paolo Valente
2019-09-05 16:55 ` Tejun Heo
2019-09-06 9:07 ` Paolo Valente
2019-09-06 14:58 ` Tejun Heo
2020-02-19 18:34 ` Paolo Valente
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=B5E431F7-549D-4FC4-A098-D074DF9586A1@linaro.org \
--to=paolo.valente@linaro.org \
--cc=ast@kernel.org \
--cc=axboe@kernel.dk \
--cc=bpf@vger.kernel.org \
--cc=cgroups@vger.kernel.org \
--cc=clm@fb.com \
--cc=daniel@iogearbox.net \
--cc=dennisz@fb.com \
--cc=hannes@cmpxchg.org \
--cc=josef@toxicpanda.com \
--cc=kafai@fb.com \
--cc=kernel-team@fb.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lizefan@huawei.com \
--cc=newella@fb.com \
--cc=songliubraving@fb.com \
--cc=tj@kernel.org \
--cc=yhs@fb.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.