From: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
To: Vivek Goyal <vgoyal@redhat.com>
Cc: Jens Axboe <axboe@kernel.dk>,
Justin TerAvest <teravest@google.com>,
"jmoyer@redhat.com" <jmoyer@redhat.com>,
Chad Talbott <ctalbott@google.com>,
lkml <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 0/6 v5.1] cfq-iosched: Introduce CFQ group hierarchical scheduling and "use_hierarchy" interface
Date: Sat, 05 Mar 2011 13:16:08 +0800 [thread overview]
Message-ID: <4D71C718.3020800@cn.fujitsu.com> (raw)
In-Reply-To: <20110304191458.GE5466@redhat.com>
Vivek Goyal wrote:
> On Fri, Mar 04, 2011 at 12:34:11PM +0800, Gui Jianfeng wrote:
>> Gui Jianfeng wrote:
>>> Vivek Goyal wrote:
>>>> On Sun, Feb 27, 2011 at 06:16:18PM -0500, Vivek Goyal wrote:
>>>>> On Fri, Feb 25, 2011 at 09:55:32AM +0800, Gui Jianfeng wrote:
>>>>>> Vivek Goyal wrote:
>>>>>>> On Wed, Feb 23, 2011 at 11:01:35AM +0800, Gui Jianfeng wrote:
>>>>>>>> Hi
>>>>>>>>
>>>>>>>> I rebase this series on top of *for-next* branch, it will make merging life easier.
>>>>>>>>
>>>>>>>> Previously, I posted a patchset to add support of CFQ group hierarchical scheduling
>>>>>>>> in the way that it puts all CFQ queues in a hidden group and schedules with other
>>>>>>>> CFQ group under their parent. The patchset is available here,
>>>>>>>> http://lkml.org/lkml/2010/8/30/30
>>>>>>> Gui,
>>>>>>>
>>>>>>> I was running some tests (iostest) with these patches and my system crashed
>>>>>>> after a while.
>>>>>>>
>>>>>>> To be precise I was running "brrmmap" test of iostest.
>>>>>> Vivek,
>>>>>>
>>>>>> I simply run iostest with brrmmap mode, I can't reproduce this bug.
>>>>>> Would you give more details.
>>>>>> Can you tell me the iostest command line options?
>>>>> iostest /dev/dm-1 -G --nrgrp 4 -m 8 --cgtime --io_serviced --dequeue --total
>>>>>
>>>>> I was actually trying to run all the workloads defined but after running
>>>>> 2 workloads it crashed on 3rd workload.
>>>>>
>>>>> Now I tried to re-run brrmmap and it did not crash. So I am trying to run
>>>>> all the inbuilt workloads again.
>>>>>
>>>>>> Did you enable use_hierarchy in root group?
>>>>> No I did not. Trying to test the flat setup first.
>>>> Again was running above job and after 3 workloads it ran into a different
>>>> BUG_ON().
>>> Vivek,
>>>
>>> It seems there's a race.
>>> Would you try the following patch. This patch seems working for me.
>>>
>>> diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c
>>> index 380d667..abbbb0e 100644
>>> --- a/block/cfq-iosched.c
>>> +++ b/block/cfq-iosched.c
>>> @@ -4126,11 +4126,12 @@ new_queue:
>>> cfqq->allocated[rw]++;
>>> cfqq->ref++;
>>>
>>> - spin_unlock_irqrestore(q->queue_lock, flags);
>>> -
>>> rq->elevator_private[0] = cic;
>>> rq->elevator_private[1] = cfqq;
>>> rq->elevator_private[2] = cfq_ref_get_cfqg(cfqq->cfqg);
>>> +
>>> + spin_unlock_irqrestore(q->queue_lock, flags);
>>> +
>>> return 0;
>>>
>>> queue_fail:
>>>
>>> Thanks
>>> Gui
>>>
>> Jens,
>>
>> This bug seems being introduced in commmit 763414b in for-next branch when
>> merging for-2.6.39/core branch.
>> Would you apply the above patch?
>>
>> Vivek, can you try the patchset again with this fix? It works fine for me now.
>
> Gui,
>
> Ok, I ran iostest with this fix and it seems to have worked. I need to run
> it for some more time. And I also need to spend more time reviewing your
> patchset. There are so many details to it. Soon I will spare some time
> to review it more and also test it bit more.
Vivek,
Ok, thanks.
>
> Of the top of my head I have one concern.
>
> - How to map iopriority to weights. I am thinking that currently weight
> range is 100-1000. If we decide to extend the range in current scheme,
> it will change the ioprio entity weight also and effectively the
> service differentiation between ioprio level will change. I am
> wondering if this is a concern and how cpu scheduler has managed it
Isn't it enought for ten times of weight difference? The old ioprio scheme
has only 4.5 times service difference. So I think we don't need to extend
the range for the time being.
Thanks,
Gui
>
> Thanks
> Vivek
>
next prev parent reply other threads:[~2011-03-05 5:25 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <4D61FE91.60705@cn.fujitsu.com>
2011-02-21 6:09 ` [PATCH 0/6 v5] cfq-iosched: Introduce CFQ group hierarchical scheduling and "use_hierarchy" interface Gui Jianfeng
2011-02-23 3:01 ` [PATCH 0/6 v5.1] " Gui Jianfeng
2011-02-23 3:07 ` [PATCH 1/6 v5.1] cfq-iosched: Introduce cfq_entity for CFQ queue Gui Jianfeng
2011-02-23 3:08 ` [PATCH 2/6 v5.1] cfq-iosched: Introduce cfq_entity for CFQ group Gui Jianfeng
2011-02-23 3:08 ` [PATCH 3/6 v5.1] cfq-iosched: Introduce vdisktime and io weight for CFQ queue Gui Jianfeng
2011-02-23 3:09 ` [PATCH 4/6 v5.1] cfq-iosched: Extract some common code of service tree handling for CFQ queue and CFQ group Gui Jianfeng
2011-02-23 3:10 ` [PATCH 5/6 v5.1] cfq-iosched: CFQ group hierarchical scheduling and use_hierarchy interface Gui Jianfeng
2011-02-23 3:10 ` [PATCH 6/6 v5.1] blkio-cgroup: Document for blkio.use_hierarchy interface Gui Jianfeng
2011-02-24 18:11 ` [PATCH 0/6 v5.1] cfq-iosched: Introduce CFQ group hierarchical scheduling and "use_hierarchy" interface Vivek Goyal
2011-02-25 1:55 ` Gui Jianfeng
2011-02-27 23:16 ` Vivek Goyal
2011-02-28 0:15 ` Vivek Goyal
2011-02-28 9:34 ` Gui Jianfeng
2011-03-02 10:00 ` Gui Jianfeng
2011-03-04 4:34 ` Gui Jianfeng
2011-03-04 19:14 ` Vivek Goyal
2011-03-05 5:16 ` Gui Jianfeng [this message]
2011-03-07 14:28 ` Vivek Goyal
2011-03-07 18:07 ` Justin TerAvest
2011-02-21 6:10 ` [PATCH 1/6 v5] cfq-iosched: Introduce cfq_entity for CFQ queue Gui Jianfeng
2011-02-21 6:11 ` [PATCH 2/6 v5] cfq-iosched: Introduce cfq_entity for CFQ group Gui Jianfeng
2011-02-21 6:13 ` [PATCH 3/6 v5] cfq-iosched: Introduce vdisktime and io weight for CFQ queue Gui Jianfeng
2011-02-21 6:15 ` [PATCH 4/6 v5] cfq-iosched: Extract some common code of service tree handling for CFQ queue and CFQ group Gui Jianfeng
2011-02-21 6:16 ` [PATCH 5/6 v5] cfq-iosched: CFQ group hierarchical scheduling and use_hierarchy interface Gui Jianfeng
2011-02-21 6:17 ` [PATCH 6/6 v5] blkio-cgroup: Document for blkio.use_hierarchy interface Gui Jianfeng
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=4D71C718.3020800@cn.fujitsu.com \
--to=guijianfeng@cn.fujitsu.com \
--cc=axboe@kernel.dk \
--cc=ctalbott@google.com \
--cc=jmoyer@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=teravest@google.com \
--cc=vgoyal@redhat.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.