public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Default values for cpuset.mems, cpus for children created
@ 2008-08-15 19:31 Dhaval Giani
  2008-09-04 23:03 ` Paul Menage
  0 siblings, 1 reply; 2+ messages in thread
From: Dhaval Giani @ 2008-08-15 19:31 UTC (permalink / raw)
  To: menage, pj; +Cc: danms, Balbir Singh, lkml, libcg-devel

Hi,

While playing around with libcgroup, one of the isses hit was that
attaching a task failed. Looking deeper into it, cpusets had been
mounted along with other subsystems. And since we did not care about
cpusets, we did not set cpus and mems there.

Now an application programmer does not really care where and how
subsystems are mounted (or at least that is what libcgroup aims to
achieve :-) ). And such a scenario when the cpuset has not been handled
is going to lead to failures which a user is not expecting.

To work around this, I am making a change which will just set the values
which the parent group has for unfilled values, but I can already see
cpuset breaking that assumption as well. (for example exclusive
cpusets).

I was wondering, why can we not have some sane default values set for
cpus and mems when a group is created. (That will also avoid a lot of
heartbreak for me as well :-) ) (Or if you have some sane solution that
has not hit me yet, i am all ears)

Thanks,
-- 
regards,
Dhaval

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Default values for cpuset.mems, cpus for children created
  2008-08-15 19:31 Default values for cpuset.mems, cpus for children created Dhaval Giani
@ 2008-09-04 23:03 ` Paul Menage
  0 siblings, 0 replies; 2+ messages in thread
From: Paul Menage @ 2008-09-04 23:03 UTC (permalink / raw)
  To: Dhaval Giani; +Cc: pj, danms, Balbir Singh, lkml, libcg-devel

On Fri, Aug 15, 2008 at 12:31 PM, Dhaval Giani
<dhaval@linux.vnet.ibm.com> wrote:
> Now an application programmer does not really care where and how
> subsystems are mounted (or at least that is what libcgroup aims to
> achieve :-) ). And such a scenario when the cpuset has not been handled
> is going to lead to failures which a user is not expecting.
>
> To work around this, I am making a change which will just set the values
> which the parent group has for unfilled values, but I can already see
> cpuset breaking that assumption as well. (for example exclusive
> cpusets).

Yes, this is an awkwardness with the cpusets model of recursively
sharing a set of identifiable resources. Quite apart from the
backwards compatibility issue, if you make new cpusets inherit their
parent's resources you break the exclusive setting, and if you don't
you require special setup before the cgroup can be used.

There's already a precedent in the cpuset_clone() function, which does
inherit the parent's resources, but I don't think the clone behaviour
is widely used, and even that doesn't handle the case of exclusive
siblings.

I'm inclined to say that this is a userspace bug - if you don't want
cpusets attached to your cgroup hierarchy, don't include them in the
set of mounted subsystems.

Paul

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-09-04 23:04 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-15 19:31 Default values for cpuset.mems, cpus for children created Dhaval Giani
2008-09-04 23:03 ` Paul Menage

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox