From: Li Zefan <lizf-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
To: Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: LKML <linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Cgroups <cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH] cgroup: fix to allow mounting a hierarchy by name
Date: Fri, 30 Dec 2011 13:58:52 +0800 [thread overview]
Message-ID: <4EFD531C.50300@cn.fujitsu.com> (raw)
In-Reply-To: <20111229162313.GD3516-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
Tejun Heo wrote:
> Hello,
>
> On Thu, Dec 29, 2011 at 10:50:06AM +0800, Li Zefan wrote:
>> Tejun Heo wrote:
>>> Hello, Li.
>>>
>>> On Wed, Dec 28, 2011 at 02:10:42PM +0800, Li Zefan wrote:
>>>> The "name" option was introduced along with the "none" option, so we
>>>> can distinguish between different cgroup hierarchies which have no
>>>> bound subsystems, like this:
>>>>
>>>> # mount -t cgroup -o none,name=hier1 xxx /cgroup1
>>>> # mount -t cgroup -o none,name=hier2 xxx /cgroup2
>>>>
>>>> As the name is unique, we have this "mount by hierarchy name" feature.
>>>
>>> I could be missing something but does that add anything other than
>>> naming convenience?
>>
>> The name option is necessary, otherwise how can we mount hierarchies
>> as shown in the above example?
>
> I don't think mounting itself would be a problem. We don't need name
> option to create multiple tmpfs instances, right? The problem is
Right, but you can't mount the same tmpfs instance in more than one mount
point.
> referencing to them after they're created. Filesystems generally
> don't need such identifier because, once they're created, they can be
> referenced by their mount points. I'm still not very familiar with
> different corners of cgroup, so it's entirely possible that I'm
> missing something. If I am, please point me to it.
>
Normal filesystems can have multi mount points, and an fs instance
is identified by device name, but cgroupfs ignores device name like
other pseudo filesystems. Instead a set of subsystems is used, so
to mount the same cgroupfs instance in different mount points, we
can do this:
# mount -t cgroup -o cpuset xxx /cgroup1
# mount -t cgroup -o cpuset xxx /cgroup2
Now we have the "none" option, so a cgroupfs can have no subsystems
bound to it, and we allow multi instances of such cgroupfs, so we
have to assign names to each instance:
# mount -t cgroup -o none,name=hier1 xxx /cgroup1
# mount -t cgroup -o none,name=hier2 xxx /cgroup2
Then we want to also mount "hier1" in another mount point, we can't
do this:
# mount -t cgroup -o none xxx /mnt
because we have two different instances with "none" subsystem. So
we specify its name:
# mount -t cgroup -o none,name=hier1 xxx /mnt
Hope I have made things clear to you?
>>> If it's a redundant feature which has been broken over a year without
>>> anyone complaining, it really doesn't need to exist. It might not
>>> save a lot of code but would save some WTH moments.
>>>
>>
>> The redundant feature is mouting existing hierarchies by specifying name
>> only, and the cleanup patch I sent has this feature removed in effect.
>>
>> kernel/cgroup.c | 15 +++++++--------
>> 1 files changed, 7 insertions(+), 8 deletions(-)
>>
>> This is why I'm not so keen to remove the feature.
>
> Code reduction is definitely a plus and I don't want to remove a
> useful feature either, but an unusual redundant feature without
> necessity is confusing / misleading even if it doesn't necessasrily
> add a lot of code complexity.
>
> Also, I at least want to understand why it's actually necessary before
> applying the patches. :)
>
What I try to fix here is the behavior of "mount -t cgroup -o name=xxx ..."
(no other options are specified), so what behavior do we want?
1. find if any existing cgroupfs instance matches the name, which is
the orginal behavior.
2. the same as "mount -t cgroup -o all,name=xxx ...", which is the
current behavior due to the commit that broke (1).
3. make it invalid and fail to mount.
4. any other idea?
next prev parent reply other threads:[~2011-12-30 5:58 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-27 2:10 [PATCH] cgroup: fix to allow mounting a hierarchy by name Li Zefan
[not found] ` <4EF9291D.7030208-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2011-12-27 6:25 ` [PATCH v2] " Li Zefan
[not found] ` <4EF964F3.8090705-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2012-01-05 18:00 ` Tejun Heo
2011-12-27 16:35 ` [PATCH] " Tejun Heo
[not found] ` <20111227163535.GA17712-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2011-12-28 6:10 ` Li Zefan
[not found] ` <4EFAB2E2.4040008-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2011-12-28 6:12 ` Li Zefan
2011-12-28 16:36 ` Tejun Heo
[not found] ` <20111228163631.GN17712-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2011-12-29 2:50 ` Li Zefan
[not found] ` <4EFBD55E.5030106-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2011-12-29 16:23 ` Tejun Heo
[not found] ` <20111229162313.GD3516-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2011-12-30 5:58 ` Li Zefan [this message]
[not found] ` <4EFD531C.50300-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2012-01-05 2:20 ` Li Zefan
2012-01-05 17:45 ` Tejun Heo
[not found] ` <20120105174507.GC18486-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-01-06 2:24 ` Li Zefan
[not found] ` <4F065B6F.6060506-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2012-01-06 2:27 ` Tejun Heo
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=4EFD531C.50300@cn.fujitsu.com \
--to=lizf-bthxqxjhjhxqfuhtdcdx3a@public.gmane.org \
--cc=cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.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).