On Fri, 2012-09-14 at 10:59 -0700, Tejun Heo wrote: > Hello, > > On Fri, Sep 14, 2012 at 05:12:31PM +0800, Li Zefan wrote: > > Agreed. The biggest issue in cpuset is if hotplug makes a cpuset's cpulist > > empty the tasks in it will be moved to an ancestor cgroup, which requires > > holding cgroup lock. We have to either change cpuset's behavior or eliminate > > the global lock. > > Does that have to happen synchronously? Can't we have a cgroup > operation which asynchronously pushes all tasks in a cgroup to its > parent from a work item? Its hotplug, all hotplug stuff is synchronous, the last thing hotplug needs is the added complexity of async callbacks. Also pushing stuff out into worklets just to work around locking issues is vile. <handwave as I never can remember all the cgroup stuff/> Can't we play games by pinning both cgroups with a reference and playing games with threadgroup_change / task_lock for the individual tasks being moved about? _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/containers