lkml.org 
[lkml]   [2022]   [Oct]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [patch v11 0/6] support concurrent sync io for bfq on a specail occasion
From
Date
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
>>>>>
>>>> .
>>
>> .
>>
>
> .
>

\
 
 \ /
  Last update: 2022-10-18 06:01    [W:0.043 / U:0.964 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site