[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160721150740.GF22680@htj.duckdns.org>
Date: Thu, 21 Jul 2016 11:07:40 -0400
From: Tejun Heo <tj@...nel.org>
To: James Bottomley <James.Bottomley@...senPartnership.com>
Cc: Aleksa Sarai <asarai@...e.de>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Li Zefan <lizefan@...wei.com>,
Johannes Weiner <hannes@...xchg.org>,
"Serge E. Hallyn" <serge.hallyn@...ntu.com>,
Aditya Kali <adityakali@...gle.com>,
Chris Wilson <chris@...is-wilson.co.uk>,
linux-kernel@...r.kernel.org, cgroups@...r.kernel.org,
Christian Brauner <cbrauner@...e.de>, dev@...ncontainers.org
Subject: Re: [PATCH v1 3/3] cgroup: relax common ancestor restriction for
direct descendants
Hello, James.
On Thu, Jul 21, 2016 at 08:04:16AM -0700, James Bottomley wrote:
> > I understand what you're trying to achieve but don't think cgroup's
> > filesystem interface can accomodate that. To support that level of
> > automatic delegation, the API should be providing enough isolation so
> > that operations in one domain (user-specific operations) are
> > transparent from the other (system-wide administration), which simply
> > isn't true for cgroupfs. As a simple example, imagine a process
> > being moved to another cgroup racing against the special operations
> > you're describing ahead. Both sides are multi-step operations and
> > there are no ways of synchronizing against each other from kernel
> > side and the outcomes can easily be non-sensical.
>
> So if I understand, it's not about actually moving the tasks: echoing
> the pid to the tasks file is atomic and we can mediate races there.
Yeah, each operation is atomic but most meaningul operations are
multi-step.
> It's about the debris left behind if the admin (or someone with
> delegated authority) moves the task to a wholly different cgroup.
>
> Now we have a cgroup directory in the old cgroup, which the current
> task has been removed from, for which the current user has permissions
> and could then move the task back to. Is that the essence of the
> problem?
That'd be one side. The other side is the one moving. Let's say the
system admin thing wants to move all processe from A proper to B. It
would do that by draining processes from A's procs file into B's and
even that is multistep and can race.
Thanks.
--
tejun
Powered by blists - more mailing lists