Messages in this thread |  | | | Date | Thu, 6 Mar 2008 21:14:26 -0800 (PST) | | From | David Rientjes <> | | Subject | Re: [PATCH] Add cgroup support for enabling controllers at boot time | |
On Fri, 7 Mar 2008, Balbir Singh wrote:
> >> +static int __init cgroup_disable(char *str)> >> +{> >> + int i;> >> + for (i = 0; i < CGROUP_SUBSYS_COUNT; i++) {
> >> + struct cgroup_subsys *ss = subsys[i];
> >> + if (!strcmp(str, ss->name)) {
> >> + ss->disabled = 1;
> >> + break;
> >> + }
> >> + }
> >> +}
> >> +__setup("cgroup_disable=", cgroup_disable);> > > > This doesn't handle spaces very well, so isn't it possible for the name of
> > a current or future cgroup subsystem to be specified after cgroup_disable=
> > on the command line and have it disabled by accident?
> > > > How do you distinguish that from the user wanting to disable the controller on
> purpose? My understanding is that after parsing cgroup_disable=, the rest of the
> text is passed to cgroup_disable to process further. You'll find that all the
> __setup() code in the kernel is implemented this way.
>
Since the command line is logically delimited by spaces, you can
accidently disable a subsystem if its name appears in any of your kernel
options following your cgroup_disable= option. So if you're absolutely
confident that it wouldn't happen (for instance, if there's no logical
reason that a cgroup subsystem name should appear anywhere besides
cgroup_disable on the command line), then there's no objection.
|  |