Messages in this thread | | | Date | Wed, 12 Feb 2014 10:30:33 -0500 | From | Tejun Heo <> | Subject | Re: [PATCH 5/5] cgroup: update cgroup_transfer_tasks() to either succeed or fail |
| |
On Mon, Feb 10, 2014 at 03:21:34PM -0500, Tejun Heo wrote: > cgroup_transfer_tasks() can currently fail in the middle due to memory > allocation failure. When that happens, the function just aborts and > returns error code and there's no way to tell how many actually got > migrated at the point of failure and or to revert the partial > migration. > > Update it to use cgroup_migrate{_add_src|prepare_dst|migrate|finish}() > so that the function either succeeds or fails as a whole as long as > ->can_attach() doesn't fail.
While this solves one aspect of the problem, it may still race with fork and may leave newly forked tasks behind. I'll think more about it.
Thanks.
-- tejun
| |