Re: [PATCH 09/10] cpuset: allow to keep tasks in empty cpusets

2013-04-20 Thread Tejun Heo
Hello, Li. On Sat, Apr 20, 2013 at 09:22:09AM +0800, Li Zefan wrote: > > migration is being done. Another approach would be converting cgroup > > to use SRCU instead, which would lessen pain on other places too. The > > only problem there would be that srcu_read_lock() is a bit more > > expensiv

Re: [PATCH 09/10] cpuset: allow to keep tasks in empty cpusets

2013-04-19 Thread Li Zefan
On 2013/4/20 4:58, Tejun Heo wrote: > Hello, > > On Fri, Apr 19, 2013 at 08:29:24PM +0800, Li Zefan wrote: >> +static void update_tasks_cpumask_hier(struct cpuset *root_cs, >> + bool update_root, struct ptr_heap *heap) >> +{ >> +struct cpuset *cp; >> +struc

Re: [PATCH 09/10] cpuset: allow to keep tasks in empty cpusets

2013-04-19 Thread Tejun Heo
Hello, On Fri, Apr 19, 2013 at 08:29:24PM +0800, Li Zefan wrote: > +static void update_tasks_cpumask_hier(struct cpuset *root_cs, > + bool update_root, struct ptr_heap *heap) > +{ > + struct cpuset *cp; > + struct cgroup *pos_cgrp; > + > + if (update_r

[PATCH 09/10] cpuset: allow to keep tasks in empty cpusets

2013-04-19 Thread Li Zefan
To achieve this: - We call update_tasks_cpumask/nodemask() for empty cpusets when hotplug happens, instead of moving tasks out of them. - When a cpuset's masks are changed by writing cpuset.cpus/mems, we also update tasks in child cpusets which are empty. Signed-off-by: Li Zefan --- kernel/cpu