lkml.org 
[lkml]   [2009]   [May]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] cgroups: handle failure of cgroup_populate_dir() at mount/remount
On Wed, 27 May 2009 11:24:22 +0800
Li Zefan <lizf@cn.fujitsu.com> wrote:

> KAMEZAWA Hiroyuki wrote:
> > On Wed, 27 May 2009 09:07:31 +0800
> > Li Zefan <lizf@cn.fujitsu.com> wrote:
> >
> >> Paul Menage wrote:
> >>> On Fri, May 22, 2009 at 1:25 AM, KAMEZAWA Hiroyuki
> >>> <kamezawa.hiroyu@jp.fujitsu.com> wrote:
> >>>> Hm, shouldn't we allow "noprefix" to be effective only agaisnt cpuset ?
> >>>> I think it's just for backward-compatibility of cpuset.
> >>>> (I don't like the option at all.)
> >>> Yes, exposing the "noprefix" option externally was one of the mistakes
> >>> I made when developing cgroups.
> >>>
> >>> It seems to me really unlikely that anyone is using "noprefix" for
> >> And "noprefix" is not documented in cgroups.txt, so I guess not
> >> many people know this option. Even libcgroup doesn't handle it.
> >>
> >>> anything other than implicitly when mounting the "cpuset" filesystem.
> >>> So I'd be inclined to just forbid it if we're mounting more than just
> >>> the cpuset subsystem. A bit of a nasty abstraction violation, but it
> >>> makes more sense overall. The only problem is that someone *might* be
> >>> using it - do we have any way to determine how, and how big do they
> >>> have to be before we care?
> >>>
> >> I think we can never know..
> >
> > How about this method ?
> >
> > - add "noprefix" to "to-be-removed" list.
> > - add "WARNING: noprefix option will be removed in 2.6.32 (or 2.6.31)" now
> > - remove "noprefix" in 2.6.31-rc or later
> >
>
> I don't see how we can remove noprefix while reserve the compatibility of
> old cpuset..
>
> As Paul Menage said, we can allow noprefix to be used only if we mount just
> cpuset subsystem:
>
I have no objection.

-Kame


> (pseudo code)
>
> diff --git a/kernel/cgroup.c b/kernel/cgroup.c
> --- a/kernel/cgroup.c
> +++ b/kernel/cgroup.c
> @@ -886,6 +886,11 @@ static int parse_cgroupfs_options(char *data,
> }
> }
>
> +
> + if (test_bit(ROOT_NOPREFIX, &opts->flags) &&
> + (opts->subsys_bits & ~cpuset_subsys_id) != 0)
> + return -EINVAL;
> +
> /* We can't have an empty hierarchy */
> if (!opts->subsys_bits)
> return -EINVAL;
>
>



\
 
 \ /
  Last update: 2009-05-27 08:21    [W:0.456 / U:0.136 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site