public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Vivek Goyal <vgoyal@redhat.com>
To: Jens Axboe <jens.axboe@oracle.com>
Cc: Munehiro Ikeda <m-ikeda@ds.jp.nec.com>,
	Corrado Zoccolo <czoccolo@gmail.com>,
	linux-kernel@vger.kernel.org, nauman@google.com,
	lizf@cn.fujitsu.com, ryov@valinux.co.jp, fernando@oss.ntt.co.jp,
	taka@valinux.co.jp, guijianfeng@cn.fujitsu.com,
	jmoyer@redhat.com, Alan.Brunelle@hp.com
Subject: Re: [RFC] CFQ group scheduling structure organization
Date: Mon, 21 Dec 2009 09:42:24 -0500	[thread overview]
Message-ID: <20091221144223.GA10994@redhat.com> (raw)
In-Reply-To: <20091221121619.GJ4489@kernel.dk>

On Mon, Dec 21, 2009 at 01:16:19PM +0100, Jens Axboe wrote:
> On Thu, Dec 17 2009, Munehiro Ikeda wrote:
> > Hello,
> >
> > Corrado Zoccolo wrote, on 12/17/2009 06:41 AM:
> >> Hi,
> >> On Wed, Dec 16, 2009 at 11:52 PM, Vivek Goyal<vgoyal@redhat.com>  wrote:
> >>> Hi All,
> >>>
> >>> With some basic group scheduling support in CFQ, there are few questions
> >>> regarding how group structure should look like in CFQ.
> >>>
> >>> Currently, grouping looks as follows. A, and B are two cgroups created by
> >>> user.
> >>>
> >>> [snip]
> >>>
> >>> Proposal 4:
> >>> ==========
> >>> Treat task and group at same level. Currently groups are at top level and
> >>> at second level are tasks. View the whole hierarchy as follows.
> >>>
> >>>
> >>>                         service-tree
> >>>                         /   |  \  \
> >>>                        T1   T2  G1 G2
> >>>
> >>> Here T1 and T2 are two tasks in root group and G1 and G2 are two cgroups
> >>> created under root.
> >>>
> >>> In this kind of scheme, any RT task in root group will still be system
> >>> wide RT even if we create groups G1 and G2.
> >>>
> >>> So what are the issues?
> >>>
> >>> - I talked to few folks and everybody found this scheme not so intutive.
> >>>   Their argument was that once I create a cgroup, say A,  under root, then
> >>>   bandwidth should be divided between "root" and "A" proportionate to
> >>>   the weight.
> >>>
> >>>   It is not very intutive that group is competing with all the tasks
> >>>   running in root group. And disk share of newly created group will change
> >>>   if more tasks fork in root group. So it is highly dynamic and not
> >>>   static hence un-intutive.
> >
> > I agree it might be dynamic but I don't think it's un-intuitive.
> > I think it's reasonable that disk share of a group is
> > influenced by the number of tasks running in root group,
> > because the root group is shared by the tasks and groups from
> > the viewpoint of cgroup I/F, and they really share disk bandwidth.
> 
> Agree, this is my preferred solution as well. There are definitely valid
> cases for both doing system wide RT and system wide idle, and there are
> definitely valid reasons for doing that inside a single group as well.
> 

Thanks Jens. I will write a patch to implement above.

Vivek

  reply	other threads:[~2009-12-21 14:42 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-16 22:52 [RFC] CFQ group scheduling structure organization Vivek Goyal
2009-12-16 22:52 ` [PATCH 1/4] cfq-iosced: Remove the check for same cfq group from allow_merge Vivek Goyal
2009-12-17  9:26   ` Gui Jianfeng
2009-12-16 22:52 ` [PATCH 2/4] cfq-iosched: Get rid of nr_groups Vivek Goyal
2009-12-17  9:26   ` Gui Jianfeng
2009-12-16 22:52 ` [PATCH 3/4] cfq-iosched: Remove prio_change logic for workload selection Vivek Goyal
2009-12-17  9:20   ` Gui Jianfeng
2009-12-18 15:17     ` Vivek Goyal
2009-12-20  4:19       ` Gui Jianfeng
2009-12-17 11:49   ` Corrado Zoccolo
2009-12-16 22:53 ` [PATCH 4/4] cfq-iosched: Implement system wide RT and IDLE groups Vivek Goyal
2009-12-16 23:14 ` [RFC] CFQ group scheduling structure organization Nauman Rafique
2009-12-16 23:24   ` Vivek Goyal
2009-12-17 10:17 ` Gui Jianfeng
2009-12-18 15:21   ` Vivek Goyal
2009-12-17 11:41 ` Corrado Zoccolo
2009-12-17 23:58   ` Munehiro Ikeda
2009-12-18 16:01     ` Vivek Goyal
2009-12-21 12:16     ` Jens Axboe
2009-12-21 14:42       ` Vivek Goyal [this message]
2009-12-18 15:49   ` Vivek Goyal

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=20091221144223.GA10994@redhat.com \
    --to=vgoyal@redhat.com \
    --cc=Alan.Brunelle@hp.com \
    --cc=czoccolo@gmail.com \
    --cc=fernando@oss.ntt.co.jp \
    --cc=guijianfeng@cn.fujitsu.com \
    --cc=jens.axboe@oracle.com \
    --cc=jmoyer@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizf@cn.fujitsu.com \
    --cc=m-ikeda@ds.jp.nec.com \
    --cc=nauman@google.com \
    --cc=ryov@valinux.co.jp \
    --cc=taka@valinux.co.jp \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox