From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753998AbbERVe3 (ORCPT ); Mon, 18 May 2015 17:34:29 -0400 Received: from mail-qc0-f176.google.com ([209.85.216.176]:35692 "EHLO mail-qc0-f176.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752016AbbERVe1 (ORCPT ); Mon, 18 May 2015 17:34:27 -0400 Date: Mon, 18 May 2015 17:34:23 -0400 From: Tejun Heo To: Aleksa Sarai Cc: lizefan@huawei.com, mingo@redhat.com, peterz@infradead.org, richard@nod.at, fweisbec@gmail.com, linux-kernel@vger.kernel.org, cgroups@vger.kernel.org Subject: Re: [PATCH v12 7/8] cgroup: add a tset_get_css macro Message-ID: <20150518213423.GI24861@htj.duckdns.org> References: <1431960667-26593-1-git-send-email-cyphar@cyphar.com> <1431960667-26593-8-git-send-email-cyphar@cyphar.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1431960667-26593-8-git-send-email-cyphar@cyphar.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, May 19, 2015 at 12:51:06AM +1000, Aleksa Sarai wrote: > This adds a macro to get the css of a tset (using task_get_css()) by > just grabbing a ref to the first item in the tset (since there is a > guarantee that all tasks in a tset share a css). > > This is in preparation for implementing the pids cgroup subsystem. > > Signed-off-by: Aleksa Sarai > --- > include/linux/cgroup.h | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h > index 886a883..773846d 100644 > --- a/include/linux/cgroup.h > +++ b/include/linux/cgroup.h > @@ -639,6 +639,18 @@ struct task_struct *cgroup_taskset_next(struct cgroup_taskset *tset); > for ((task) = cgroup_taskset_first((tset)); (task); \ > (task) = cgroup_taskset_next((tset))) > > +/** > + * tset_get_css - obtain and get css for (tset, subsys_id) > + * @tset: target taskset > + * @subsys_id: target subsystem id > + * > + * Since all of the tasks in a taskset are guaranteed to have the same css, it's > + * safe to grab the ref of just the first task's css and treat it as though you > + * have a ref on the taskset's "collective" css. > + */ > +#define tset_get_css(tset, subsys_id) \ > + task_get_css(cgroup_taskset_first(tset), subsys_id) They aren't tho. It depends on the hierarchy configuration. csses belonging to hierarchies which aren't the current migration target may differ. Thanks. -- tejun