[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