[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <82f1e969-742d-d3c3-63ca-961c755b5c35@huaweicloud.com>
Date: Tue, 18 Oct 2022 12:00:05 +0800
From: Yu Kuai <yukuai1@...weicloud.com>
To: Yu Kuai <yukuai1@...weicloud.com>,
Paolo Valente <paolo.valente@...aro.org>
Cc: Tejun Heo <tj@...nel.org>, Jens Axboe <axboe@...nel.dk>,
Jan Kara <jack@...e.cz>, cgroups@...r.kernel.org,
linux-block <linux-block@...r.kernel.org>,
linux-kernel <linux-kernel@...r.kernel.org>, yi.zhang@...wei.com,
"yukuai (C)" <yukuai3@...wei.com>
Subject: Re: [patch v11 0/6] support concurrent sync io for bfq on a specail
occasion
Hi, Paolo
在 2022/10/11 17:36, Yu Kuai 写道:
>>>> Your patches seem ok to me now (thanks for you contribution and,
>>>> above all, for your patience). I have only a high-level concern:
>>>> what do you mean when you say that service guarantees are still
>>>> preserved? What test did you run exactly? This point is very
>>>> important to me. I'd like to see some convincing test with
>>>> differentiated weights. In case you don't have other tools for
>>>> executing such tests quickly, you may want to use the
>>>> bandwidth-latency test in my simple S benchmark suite (for which I'm
>>>> willing to help).
>>>
>>> Is there any test that you wish me to try?
>>>
>>> By the way, I think for the case that multiple groups are activaced, (
>>> specifically num_groups_with_pendind_rqs > 1), io path in bfq is the
>>> same with or without this patchset.
>
> I just ran the test for one time, result is a liiter inconsistent, do
> you think it's in the normal fluctuation range?
I rerun the manually test for 5 times, here is the average result:
without this patchset / with this patchset:
| --------------- | ------------- | ------------ | -------------- |
------------- | -------------- |
| cg1 weight | 10 | 20 | 30 | 40
| 50 |
| cg2 weight | 90 | 80 | 70 | 60
| 50 |
| cg1 bw MiB/s | 21.4 / 21.74 | 42.72 / 46.6 | 63.82 / 61.52 |
94.74 / 90.92 | 140 / 138.2 |
| cg2 bw MiB/s | 197.2 / 197.4 | 182 / 181.2 | 171.2 / 173.44 | 162
/ 156.8 | 138.6 / 137.04 |
| cg2 bw / cg1 bw | 9.22 / 9.08 | 4.26 / 3.89 | 2.68 / 2.82 | 1.71
/ 1.72 | 0.99 / 0.99 |
>
> test script:
> fio -filename=/dev/nullb0 -ioengine=libaio -ioscheduler=bfq -jumjobs=1
> -iodepth=64 -direct=1 -bs=4k -rw=randread -runtime=60 -name=test
>
> without this patchset:
> | | | | | | |
> | --------------- | ---- | ---- | ---- | ---- | ---- |
> | cg1 weight | 10 | 20 | 30 | 40 | 50 |
> | cg2 weight | 90 | 80 | 70 | 60 | 50 |
> | cg1 bw MiB/s | 25.8 | 51.0 | 80.1 | 90.5 | 138 |
> | cg2 bw MiB/s | 193 | 179 | 162 | 127 | 136 |
> | cg2 bw / cg1 bw | 7.48 | 3.51 | 2.02 | 1.40 | 0.98 |
>
> with this patchset
> | | | | | | |
> | --------------- | ---- | ---- | ---- | ---- | ---- |
> | cg1 weight | 10 | 20 | 30 | 40 | 50 |
> | cg2 weight | 90 | 80 | 70 | 60 | 50 |
> | cg1 bw MiB/s | 21.5 | 43.9 | 62.7 | 87.4 | 136 |
> | cg2 bw MiB/s | 195 | 185 | 173 | 138 | 141 |
> | cg2 bw / cg1 bw | 9.07 | 4.21 | 2.75 | 1.57 | 0.96 |
>>>
>>
>> The tests cases you mentioned are ok for me (whatever tool or personal
>> code you use to run them). Just show me your results with and without
>> your patchset applied.
>>
>> Thanks,
>> Paolo
>>
>>> Thanks,
>>> Kuai
>>>> Thanks,
>>>> Paolo
>>>>> Previous versions:
>>>>> RFC:
>>>>> https://lore.kernel.org/all/20211127101132.486806-1-yukuai3@huawei.com/
>>>>>
>>>>> v1:
>>>>> https://lore.kernel.org/all/20220305091205.4188398-1-yukuai3@huawei.com/
>>>>>
>>>>> v2:
>>>>> https://lore.kernel.org/all/20220416093753.3054696-1-yukuai3@huawei.com/
>>>>>
>>>>> v3:
>>>>> https://lore.kernel.org/all/20220427124722.48465-1-yukuai3@huawei.com/
>>>>> v4:
>>>>> https://lore.kernel.org/all/20220428111907.3635820-1-yukuai3@huawei.com/
>>>>>
>>>>> v5:
>>>>> https://lore.kernel.org/all/20220428120837.3737765-1-yukuai3@huawei.com/
>>>>>
>>>>> v6:
>>>>> https://lore.kernel.org/all/20220523131818.2798712-1-yukuai3@huawei.com/
>>>>>
>>>>> v7:
>>>>> https://lore.kernel.org/all/20220528095020.186970-1-yukuai3@huawei.com/
>>>>>
>>>>>
>>>>>
>>>>> Yu Kuai (6):
>>>>> block, bfq: support to track if bfqq has pending requests
>>>>> block, bfq: record how many queues have pending requests
>>>>> block, bfq: refactor the counting of 'num_groups_with_pending_reqs'
>>>>> block, bfq: do not idle if only one group is activated
>>>>> block, bfq: cleanup bfq_weights_tree add/remove apis
>>>>> block, bfq: cleanup __bfq_weights_tree_remove()
>>>>>
>>>>> block/bfq-cgroup.c | 10 +++++++
>>>>> block/bfq-iosched.c | 71 +++++++--------------------------------------
>>>>> block/bfq-iosched.h | 30 +++++++++----------
>>>>> block/bfq-wf2q.c | 69 ++++++++++++++++++++++++++-----------------
>>>>> 4 files changed, 76 insertions(+), 104 deletions(-)
>>>>>
>>>>> --
>>>>> 2.31.1
>>>>>
>>>> .
>>
>> .
>>
>
> .
>
Powered by blists - more mailing lists