From: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
To: Vivek Goyal <vgoyal@redhat.com>
Cc: Jens Axboe <axboe@kernel.dk>,
Corrado Zoccolo <czoccolo@gmail.com>,
Chad Talbott <ctalbott@google.com>,
Nauman Rafique <nauman@google.com>,
Divyesh Shah <dpshah@google.com>,
linux kernel mailing list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 8/8] blkio-cgroup: Document for blkio.use_hierarchy.
Date: Tue, 14 Dec 2010 10:52:46 +0800 [thread overview]
Message-ID: <4D06DBFE.5060708@cn.fujitsu.com> (raw)
In-Reply-To: <20101213151045.GB20454@redhat.com>
Vivek Goyal wrote:
> On Mon, Dec 13, 2010 at 09:45:22AM +0800, Gui Jianfeng wrote:
>> Document for blkio.use_hierarchy.
>>
>> Signed-off-by: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
>> ---
>> Documentation/cgroups/blkio-controller.txt | 58 +++++++++++++++++++---------
>> 1 files changed, 39 insertions(+), 19 deletions(-)
>>
>> diff --git a/Documentation/cgroups/blkio-controller.txt b/Documentation/cgroups/blkio-controller.txt
>> index 4ed7b5c..9c6dc9e 100644
>> --- a/Documentation/cgroups/blkio-controller.txt
>> +++ b/Documentation/cgroups/blkio-controller.txt
>> @@ -91,30 +91,44 @@ Throttling/Upper Limit policy
>>
>> Hierarchical Cgroups
>> ====================
>> -- Currently none of the IO control policy supports hierarhical groups. But
>> - cgroup interface does allow creation of hierarhical cgroups and internally
>> - IO policies treat them as flat hierarchy.
>> +- Cgroup interface allows creation of hierarchical cgroups. Currently,
>> + internally IO policies are able to treat them as flat hierarchy or
>> + hierarchical hierarchy. Both hierarchical bandwidth division and flat
>> + bandwidth division are supported. "blkio.use_hierarchy" can be used to
>> + switch between flat mode and hierarchical mode.
>>
>> - So this patch will allow creation of cgroup hierarhcy but at the backend
>> - everything will be treated as flat. So if somebody created a hierarchy like
>> - as follows.
>> + Consider the following CGroup hierarchy:
>>
>> - root
>> - / \
>> - test1 test2
>> - |
>> - test3
>> + Root
>> + / | \
>> + Grp1 Grp2 tsk1
>> + / \
>> + Grp3 tsk2
>>
>> - CFQ and throttling will practically treat all groups at same level.
>> + If flat mode is enabled, CFQ and throttling will practically treat all
>> + groups at the same level.
>>
>> - pivot
>> - / | \ \
>> - root test1 test2 test3
>> + Pivot tree
>> + / | | \
>> + Root Grp1 Grp2 Grp3
>> + / |
>> + tsk1 tsk2
>>
>> - Down the line we can implement hierarchical accounting/control support
>> - and also introduce a new cgroup file "use_hierarchy" which will control
>> - whether cgroup hierarchy is viewed as flat or hierarchical by the policy..
>> - This is how memory controller also has implemented the things.
>> + If hierarchical mode is enabled, CFQ will treat groups and tasks as the same
>> + view in CGroup hierarchy.
>> +
>> + Root
>> + / | \
>> + Grp1 Grp2 tsk1
>> + / \
>> + Grp3 tsk2
>> +
>> + Grp1, Grp2 and tsk1 are treated at the same level under Root group. Grp3 and
>> + tsk2 are treated at the same level under Grp1. Below is the mapping between
>> + task io priority and io weight:
>> +
>> + prio 0 1 2 3 4 5 6 7
>> + weight 1000 868 740 612 484 356 228 100
>
> I am curious to know that why did you choose above mappings. Current prio
> to slice mapping seems to be.
>
> prio 0 1 2 3 4 5 6 7
> slice 180 160 140 120 100 80 60 40
>
> Now with above weights difference between prio 0 and prio 7 will be 10
> times as compared to old scheme of 4.5 times. Well then there is
> slice offset logic which tries to introduce more service differentation.
> anyway, I am not particular about it. Just curious. If it works well, then
> it is fine.
Currently, Since CFQ queue and CFQ group are treated at the same level, I'd
like to map ioprio to the whole range of io weight. So choose this mapping.
>
>>
>> Various user visible config options
>> ===================================
>> @@ -169,6 +183,12 @@ Proportional weight policy files
>> dev weight
>> 8:16 300
>>
>> +- blkio.use_hierarchy
>> + - Switch between hierarchical mode and flat mode as stated above.
>> + blkio.use_hierarchy == 1 means hierarchical mode is enabled.
>> + blkio.use_hierarchy == 0 means flat mode is enabled.
>> + The default mode is flat mode.
>> +
>
> Can you please explicitly mentiond that blkio.use_hierarchy only effects
> CFQ and has impact on "throttling" logic as of today. Throttling will
> still continue to treat everything as flat.
Sure.
Gui
>
> I am working on making throttling logic hierarchical. It has been going
> on kind of slow and expecting it to get ready for 2.6.39.
>
> Vivek
>
prev parent reply other threads:[~2010-12-14 2:52 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <4CDF7BC5.9080803@cn.fujitsu.com>
[not found] ` <4CDF9CD8.8010207@cn.fujitsu.com>
[not found] ` <20101115193352.GB3396@redhat.com>
2010-11-29 2:32 ` [RFC] [PATCH 3/8] cfq-iosched: Introduce vdisktime and io weight for CFQ queue Gui Jianfeng
[not found] ` <4CDF9CE0.3060606@cn.fujitsu.com>
[not found] ` <20101115194855.GC3396@redhat.com>
2010-11-29 2:34 ` [RFC] [PATCH 4/8] cfq-iosched: Get rid of st->active Gui Jianfeng
[not found] ` <4CDF9D06.6070800@cn.fujitsu.com>
[not found] ` <20101115195428.GE3396@redhat.com>
2010-11-29 2:35 ` [RFC] [PATCH 7/8] cfq-iosched: Enable deep hierarchy in CGgroup Gui Jianfeng
[not found] ` <4CDF9D0D.4060806@cn.fujitsu.com>
[not found] ` <20101115204459.GF3396@redhat.com>
2010-11-29 2:42 ` [RFC] [PATCH 8/8] cfq-iosched: Introduce hierarchical scheduling with CFQ queue and group at the same level Gui Jianfeng
2010-11-29 14:31 ` Vivek Goyal
2010-11-30 1:15 ` Gui Jianfeng
[not found] ` <4CDF9CC6.2040106@cn.fujitsu.com>
[not found] ` <20101115165319.GI30792@redhat.com>
[not found] ` <4CE2718C.6010406@kernel.dk>
2010-12-13 1:44 ` [PATCH 0/8 v2] Introduce CFQ group hierarchical scheduling and "use_hierarchy" interface Gui Jianfeng
2010-12-13 13:36 ` Jens Axboe
2010-12-14 3:30 ` Gui Jianfeng
2010-12-13 14:29 ` Vivek Goyal
2010-12-14 3:06 ` Gui Jianfeng
2010-12-14 3:29 ` Vivek Goyal
[not found] ` <4D01C6AB.9040807@cn.fujitsu.com>
2010-12-13 1:44 ` [PATCH 1/8 v2] cfq-iosched: Introduce cfq_entity for CFQ queue Gui Jianfeng
2010-12-13 15:44 ` Vivek Goyal
2010-12-14 1:30 ` Gui Jianfeng
2010-12-13 1:44 ` [PATCH 2/8 v2] cfq-iosched: Introduce cfq_entity for CFQ group Gui Jianfeng
2010-12-13 16:59 ` Vivek Goyal
2010-12-14 1:33 ` Gui Jianfeng
2010-12-14 1:47 ` Gui Jianfeng
2010-12-13 1:44 ` [PATCH 3/8 v2] cfq-iosched: Introduce vdisktime and io weight for CFQ queue Gui Jianfeng
2010-12-13 16:59 ` Vivek Goyal
2010-12-14 2:41 ` Gui Jianfeng
2010-12-14 2:47 ` Vivek Goyal
2010-12-13 1:44 ` [PATCH 4/8 v2] cfq-iosched: Extract some common code of service tree handling for CFQ queue and CFQ group Gui Jianfeng
2010-12-13 22:11 ` Vivek Goyal
2010-12-13 1:45 ` [PATCH 5/8 v2] cfq-iosched: Introduce hierarchical scheduling with CFQ queue and group at the same level Gui Jianfeng
2010-12-14 3:49 ` Vivek Goyal
2010-12-14 6:09 ` Gui Jianfeng
2010-12-15 7:02 ` Gui Jianfeng
2010-12-15 22:04 ` Vivek Goyal
2010-12-13 1:45 ` [PATCH 6/8] blkio-cgroup: "use_hierarchy" interface without any functionality Gui Jianfeng
2010-12-15 21:26 ` Vivek Goyal
2010-12-16 2:42 ` Gui Jianfeng
2010-12-16 15:44 ` Vivek Goyal
2010-12-17 3:06 ` Gui Jianfeng
2010-12-17 23:03 ` Vivek Goyal
2010-12-13 1:45 ` [PATCH 7/8] cfq-iosched: Add flat mode and switch between two modes by "use_hierarchy" Gui Jianfeng
2010-12-20 19:43 ` Vivek Goyal
2010-12-13 1:45 ` [PATCH 8/8] blkio-cgroup: Document for blkio.use_hierarchy Gui Jianfeng
2010-12-13 15:10 ` Vivek Goyal
2010-12-14 2:52 ` Gui Jianfeng [this message]
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=4D06DBFE.5060708@cn.fujitsu.com \
--to=guijianfeng@cn.fujitsu.com \
--cc=axboe@kernel.dk \
--cc=ctalbott@google.com \
--cc=czoccolo@gmail.com \
--cc=dpshah@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=nauman@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.