[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140403194335.GC2472@mtj.dyndns.org>
Date: Thu, 3 Apr 2014 15:43:35 -0400
From: Tejun Heo <tj@...nel.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: "Eric W. Biederman" <ebiederm@...ssion.com>,
David Miller <davem@...emloft.net>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Li Zefan <lizefan@...wei.com>,
Linux Containers <containers@...ts.linux-foundation.org>,
cgroups@...r.kernel.org
Subject: Re: [GIT PULL] cgroup changes for v3.15-rc1
Hello,
On Thu, Apr 03, 2014 at 12:01:23PM -0700, Linus Torvalds wrote:
> [ Extending the participants list a bit ]
>
> On Thu, Apr 3, 2014 at 11:34 AM, Tejun Heo <tj@...nel.org> wrote:
> > On the road so sending from phone. Iirc the param is necessary to
> > distinguishe when a new sb is created so that it can be put properly later.
> > I think cgroup is leaking super ref now and li was planning to send a fix
> > once things are merged.
>
> So as far as I can tell, cgroup is fine, because the superblock itself
> is properly refcounted by the mounting code. It's the magic hidden
Ah, I remembered the other way around. We could leak cgroup_root
reference, not the other way around. cgroup_mount() can be called
multiple times for the same sb and we inc cgroup_root's ref each time
but cgroup_kill_sb() only happens when the sb is released, so if we do
the following,
# mkdir cpuset cpuset1
# mount -t cgroup -o cpuset cgroup cpuset
# mount -t cgroup -o cpuset cgroup cpuset1
# umount cpuset
# umount cpuset1
The cgroup_root should be destroyed but it isn't, I think. We'd need
to bump cgroup_root's refcnt only when a new sb is created. It's
kinda ugly. Hmmm...
As for using specific type for ns tag, yeah, that'd be better
regardless of this. The opaqueness is a bit extreme now.
Thanks.
--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists