From: Paul Jackson <pj@sgi.com>
To: KUROSAWA Takahiro <kurosawa@valinux.co.jp>
Cc: dino@in.ibm.com, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/5] SUBCPUSETS: a resource control functionality using CPUSETS
Date: Thu, 8 Sep 2005 05:02:32 -0700 [thread overview]
Message-ID: <20050908050232.3681cf0c.pj@sgi.com> (raw)
In-Reply-To: <20050908081819.2EA4E70031@sv1.valinux.co.jp>
Takahiro-san wrote, in reply to Paul:
> > 2) Would a structure similar to Dinakar's patches to connect
> > cpusets and dynamic sched domains (posted to linux-mm)
> > work here as well?
>
> Yes, subcpusets could work with the dynamic sched domains.
Ah - I see I was quite unclear about what I was thinking.
I intended to ask not simply would Dinakar's patches work with
subcpusets, but something more radical.
These subcpusets, if I understand correctly, are a bit different
from ordinary cpusets. For instance, it seems one cannot make child
cpusets of them, and one cannot change most of their properties,
such as cpus, mems, cpu_exclusive, mem_exclusive, or notify_on_release.
Also the mems and cpus of each subcpuset are required to be
exactly equal to the corresponding values of its parent.
One of my passions is to avoid special cases across API boundaries.
I am proposing that you don't do subcpusets like this.
Consider the following alternative I will call 'cpuset meters'.
For each resource named 'R' (cpu and mem, for instance):
* Add a boolean flag 'meter_R' to each cpuset. If set, that R is
metered, for the tasks in that cpuset or any descendent cpuset.
* If a cpuset is metered, then files named meter_R_guar, meter_R_lim
and meter_R_cur appear in that cpuset to manage R's usage by tasks
in that cpuset and descendents.
* There are no additional rules that restrict the ability to change
various other cpuset properties such as cpus, mems, cpu_exclusive,
mem_exclusive, or notify_on_release, when a cpuset is metered.
* It might be that some (or by design all) resource controllers do
not allow nesting metered cpusets. I don't know. But one should
(if one has permission) be able to make child cpusets of a metered
cpuset, just like one can of any other cpuset.
* A metered cpuset might well have cpus or mems that are not the
same as its parent, just like an unmetered cpuset ordinarly does.
If I understand correctly, one could place a job that managed its
own child cpusets into a metered cpuset, but not into a subcpuset.
Even if you wanted to allow it, it seems jobs in subcpusets cannot
make child cpusets or modify the properties of their current cpuset.
Is that correct?
The above is just a fragment of an idea. I do not know if it is
a good idea or not. And I left off critical details such as just
what the resource guarantees and limits mean.
Most likely, the way I stated it, there is some good reason that is
very obvious to you why metered cpusets don't work. Perhaps some
variation would work and be worthy of consideration as an alternative
to subcpusets.
I hope to reduce to a minimum the special limitations on these cpusets,
whether subcpusets or metered cpusets.
--
I won't rest till it's the best ...
Programmer, Linux Scalability
Paul Jackson <pj@sgi.com> 1.925.600.0401
next prev parent reply other threads:[~2005-09-08 12:02 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-09-08 5:39 [PATCH 0/5] SUBCPUSETS: a resource control functionality using CPUSETS KUROSAWA Takahiro
2005-09-08 7:23 ` Paul Jackson
2005-09-08 8:18 ` KUROSAWA Takahiro
2005-09-08 12:02 ` Paul Jackson [this message]
2005-09-09 1:38 ` KUROSAWA Takahiro
2005-09-09 4:12 ` Magnus Damm
2005-09-09 5:55 ` Paul Jackson
2005-09-09 7:52 ` Magnus Damm
2005-09-09 8:39 ` Paul Jackson
2005-09-09 11:38 ` Hirokazu Takahashi
2005-09-09 13:31 ` Paul Jackson
2005-09-10 7:11 ` Hirokazu Takahashi
2005-09-10 8:52 ` Paul Jackson
2005-09-11 16:02 ` Hirokazu Takahashi
2005-09-26 9:33 ` [PATCH 0/3] CPUMETER (Re: [PATCH 0/5] SUBCPUSETS: a resource control functionality using CPUSETS) KUROSAWA Takahiro
2005-10-02 4:20 ` Paul Jackson
2005-10-04 2:49 ` KUROSAWA Takahiro
2005-09-26 9:34 ` [PATCH 1/3] CPUMETER: add cpumeter framework to the CPUSETS KUROSAWA Takahiro
2005-09-27 8:37 ` Paul Jackson
2005-09-27 9:22 ` Nick Piggin
2005-09-27 15:53 ` [ckrm-tech] " Paul Jackson
2005-09-27 21:45 ` Chandra Seetharaman
2005-09-28 6:35 ` KUROSAWA Takahiro
2005-09-28 10:08 ` Hirokazu Takahashi
2005-09-28 10:32 ` KUROSAWA Takahiro
2005-09-27 11:39 ` KUROSAWA Takahiro
2005-09-27 15:49 ` [ckrm-tech] " Paul Jackson
2005-09-28 6:21 ` KUROSAWA Takahiro
2005-09-28 6:43 ` Paul Jackson
2005-09-28 7:08 ` Paul Jackson
2005-09-28 7:53 ` KUROSAWA Takahiro
2005-09-28 16:49 ` Paul Jackson
2005-09-29 2:53 ` KUROSAWA Takahiro
2005-09-29 2:58 ` Paul Jackson
2005-09-30 9:39 ` Simon Derr
2005-09-30 14:21 ` Paul Jackson
2005-10-02 7:01 ` Ok to change cpuset flags for sched domains? (was [PATCH 1/3] CPUMETER ...) Paul Jackson
2005-10-03 14:00 ` Dinakar Guniguntala
2005-10-03 23:36 ` [ckrm-tech] " Paul Jackson
2005-09-28 9:25 ` [PATCH][BUG] fix memory leak on reading cpuset files after seeking beyond eof KUROSAWA Takahiro
2005-09-28 13:42 ` Paul Jackson
2005-09-28 13:42 ` [PATCH] cpuset read past eof memory leak fix Paul Jackson
2005-09-28 15:01 ` Linus Torvalds
2005-09-28 17:53 ` Paul Jackson
2005-09-28 18:03 ` Linus Torvalds
2005-09-28 18:03 ` Randy.Dunlap
2005-09-28 19:04 ` [ckrm-tech] " Paul Jackson
2005-09-28 14:29 ` [PATCH 1/3] CPUMETER: add cpumeter framework to the CPUSETS Paul Jackson
2005-09-26 9:34 ` [PATCH 2/3] CPUMETER: CPU resource controller KUROSAWA Takahiro
2005-09-26 9:34 ` [PATCH 3/3] CPUMETER: connect the CPU resource controller to CPUMETER KUROSAWA Takahiro
2005-09-09 22:26 ` [PATCH 0/5] SUBCPUSETS: a resource control functionality using CPUSETS Matthew Helsley
2005-09-08 13:14 ` Dinakar Guniguntala
2005-09-08 14:11 ` Dipankar Sarma
2005-09-08 14:55 ` Paul Jackson
2005-09-08 14:59 ` Paul Jackson
2005-09-08 22:51 ` [ckrm-tech] " Chandra Seetharaman
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=20050908050232.3681cf0c.pj@sgi.com \
--to=pj@sgi.com \
--cc=dino@in.ibm.com \
--cc=kurosawa@valinux.co.jp \
--cc=linux-kernel@vger.kernel.org \
/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;
as well as URLs for NNTP newsgroup(s).