[PATCH 3/3] cgroup: remove extra calls to find_existing_css_set

Li Zefan lizf at cn.fujitsu.com
Thu Jan 5 02:10:57 UTC 2012


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 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 at chromium.org>

Acked-by: Li Zefan <lizf at cn.fujitsu.com>

> Cc: Tejun Heo <tj at kernel.org>
> Cc: Li Zefan <lizf at cn.fujitsu.com>
> Cc: containers at lists.linux-foundation.org
> Cc: cgroups at vger.kernel.org
> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu at jp.fujitsu.com>
> Cc: Frederic Weisbecker <fweisbec at gmail.com>
> Cc: Oleg Nesterov <oleg at redhat.com>
> Cc: Andrew Morton <akpm at linux-foundation.org>
> Cc: Paul Menage <paul at paulmenage.org>
> ---
>  kernel/cgroup.c |  142 +++++++++++-------------------------------------------
>  1 files changed, 29 insertions(+), 113 deletions(-)


More information about the Containers mailing list