Messages in this thread |  | | Date | Mon, 30 Jan 2012 15:00:35 +0800 | From | Li Zefan <> | Subject | Re: [PATCH] cgroup: remove extra calls to find_existing_css_set |
| |
Mandeep Singh Baines wrote: > In cgroup_attach_proc, we indirectly call find_existing_css_set 3 > times. It is an expensive call so we want to call it a minimum > of times. This patch only calls it once and stores the result so > that it can be used later on when we call cgroup_task_migrate. > > This required modifying cgroup_task_migrate to take the new css_set > (which we obtained from find_css_set) as a parameter. The nice side > effect of this is that cgroup_task_migrate is now identical for > cgroup_attach_task and cgroup_attach_proc. It also now returns a > void since it can never fail. > > Changes in V5: > * https://lkml.org/lkml/2012/1/20/344 (Tejun Heo) > * Remove css_set_refs > Changes in V4: > * https://lkml.org/lkml/2011/12/22/421 (Li Zefan) > * Avoid GFP_KERNEL (sleep) in rcu_read_lock by getting css_set in > a separate loop not under an rcu_read_lock > Changes in V3: > * https://lkml.org/lkml/2011/12/22/13 (Li Zefan) > * Fixed earlier bug by creating a seperate patch to remove tasklist_lock > Changes in V2: > * https://lkml.org/lkml/2011/12/20/372 (Tejun Heo) > * Move find_css_set call into loop which creates the flex array > * Author > * Kill css_set_refs and use group_size instead > * Fix an off-by-one error in counting css_set refs > * Add a retval check in out_list_teardown > > Signed-off-by: Mandeep Singh Baines <msb@chromium.org>
Please add my ack in your changelog when you update the patch.
> Cc: Tejun Heo <tj@kernel.org> > Cc: Li Zefan <lizf@cn.fujitsu.com> > Cc: containers@lists.linux-foundation.org > Cc: cgroups@vger.kernel.org > Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> > Cc: Frederic Weisbecker <fweisbec@gmail.com> > Cc: Oleg Nesterov <oleg@redhat.com> > Cc: Andrew Morton <akpm@linux-foundation.org> > Cc: Paul Menage <paul@paulmenage.org> > --- > kernel/cgroup.c | 143 +++++++++++-------------------------------------------- > 1 files changed, 28 insertions(+), 115 deletions(-)
|  |