From mboxrd@z Thu Jan 1 00:00:00 1970 From: Li Zefan Subject: Re: [PATCH 3/3] cgroup: remove extra calls to find_existing_css_set Date: Thu, 05 Jan 2012 10:10:57 +0800 Message-ID: <4F0506B1.1070909@cn.fujitsu.com> References: <1325654312-32477-1-git-send-email-msb@chromium.org> <1325654312-32477-3-git-send-email-msb@chromium.org> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1325654312-32477-3-git-send-email-msb-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> Sender: cgroups-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-ID: Content-Type: text/plain; charset="us-ascii" To: Mandeep Singh Baines Cc: Tejun Heo , Frederic Weisbecker , linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, KAMEZAWA Hiroyuki , Oleg Nesterov , Andrew Morton , Paul Menage 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 Acked-by: Li Zefan > Cc: Tejun Heo > Cc: Li Zefan > Cc: containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org > Cc: cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > Cc: KAMEZAWA Hiroyuki > Cc: Frederic Weisbecker > Cc: Oleg Nesterov > Cc: Andrew Morton > Cc: Paul Menage > --- > kernel/cgroup.c | 142 +++++++++++------------------------------------------- > 1 files changed, 29 insertions(+), 113 deletions(-)