From: Paul Menage <menage@google.com>
To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: lizf@cn.fujitsu.com, balbir@linux.vnet.ibm.com,
linux-kernel@vger.kernel.org, akpm@linux-foundation.org,
containers@lists.linux-foundation.org
Subject: Re: [PATCH 7/9] [RFC] Support multiply-bindable cgroup subsystems
Date: Wed, 1 Jul 2009 22:04:19 -0700 [thread overview]
Message-ID: <6599ad830907012204i20fed7a9ud4ae5610cfc9a6ae@mail.gmail.com> (raw)
In-Reply-To: <20090702121626.7676c7d4.kamezawa.hiroyu@jp.fujitsu.com>
On Wed, Jul 1, 2009 at 8:16 PM, KAMEZAWA
Hiroyuki<kamezawa.hiroyu@jp.fujitsu.com> wrote:
>
> Hm, then, moving SUBSYS() macro to linux/cgroup_subsys.h is a sane way, I think.
> IMHO, it's not very good habit that cgroup_subsys.h is parsed in different ways in
> cgroup.h and cgroup.c
>
> I think cgroup_subsys.h like following is much simpler even if it's not very
> sophisticated.
> ==
> #define SUBSYSID(_name) _name ## _subsys_id,
> #define SUBSYSP(_name) &_name ## _subsys,
You'd also need a macro for the extern declaration of each *_subsys
variable. So it would be 8 lines of boilerplate for each subsystem,
plus adding to the CGROUP_ALL_* macros below. Yes, it could be done
that way, but I'm not convinced that it's hugely simpler.
The state of things prior to this patch series is that to do something
at compile time that involves all subsystems (currently we have three
cases - defining the subsys_id enum, declaring the extern subsys
structures, and defining the array of subsys structure pointers) you
just define the macro SUBSYS to expand to the code fragment you want
to repeat and include cgroup_subsys.h. This is very simple from the
subsystem writer's PoV, and not too tricky in the core framework.
I agree that this patch does increase the complexity in the framework
code, since the framework code needs to deal with all the non-multi
subsystems ahead of all multi-subsystems, and so has to do two passes
through the file.
OK, thinking more about this, your earlier suggestion of splitting
cgroup_subsys.h and using a single SUBSYS macro would achieve this
more simply after all. Let me try that and see how it looks.
Paul
next prev parent reply other threads:[~2009-07-02 5:04 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-02 2:10 [PATCH 0/9] [RFC] CGroup Hierarchy Extensions Paul Menage
2009-07-02 2:10 ` [PATCH 1/9] [RFC] Support named cgroups hierarchies Paul Menage
2009-07-02 2:28 ` KAMEZAWA Hiroyuki
2009-07-02 2:49 ` Paul Menage
2009-07-03 1:51 ` Li Zefan
2009-07-02 8:09 ` Louis Rilling
2009-07-02 8:19 ` Paul Menage
2009-07-02 8:24 ` Louis Rilling
2009-07-03 2:32 ` Li Zefan
2009-07-13 23:39 ` Paul Menage
2009-07-02 2:11 ` [PATCH 2/9] [RFC]Move the cgroup debug subsys into cgroup.c to access internal state Paul Menage
2009-07-02 2:11 ` [PATCH 3/9] [RFC] Add a back-pointer from struct cg_cgroup_link to struct cgroup Paul Menage
2009-07-03 7:07 ` Li Zefan
2009-07-21 23:48 ` Paul Menage
2009-07-02 2:11 ` [PATCH 4/9] [RFC] Allow cgroup hierarchies to be created with no bound subsystems Paul Menage
2009-07-03 7:57 ` Li Zefan
2009-07-21 23:31 ` Paul Menage
2009-07-02 2:11 ` [PATCH 5/9] [RFC] Remove cgroup_subsys.root pointer Paul Menage
2009-07-02 9:04 ` Louis Rilling
2009-07-02 9:32 ` Paul Menage
2009-07-02 2:11 ` [PATCH 6/9] [RFC] Remove the cgroup_subsys.bind callback Paul Menage
2009-07-02 2:11 ` [PATCH 7/9] [RFC] Support multiply-bindable cgroup subsystems Paul Menage
2009-07-02 2:45 ` KAMEZAWA Hiroyuki
2009-07-02 2:52 ` Paul Menage
2009-07-02 3:16 ` KAMEZAWA Hiroyuki
2009-07-02 5:04 ` Paul Menage [this message]
2009-07-03 8:36 ` Li Zefan
2009-07-02 2:11 ` [PATCH 8/9] [RFC] Example multi-bindable subsystem: a per-cgroup notes field Paul Menage
2009-07-02 2:48 ` KAMEZAWA Hiroyuki
2009-07-02 2:56 ` Paul Menage
2009-07-02 3:17 ` KAMEZAWA Hiroyuki
2009-07-02 7:22 ` Paul Menage
2009-07-03 8:58 ` Li Zefan
2009-07-14 0:49 ` Paul Menage
2009-07-02 2:11 ` [PATCH 9/9] [RFC] Example multi-bindable subsystem: a max-depth controller Paul Menage
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6599ad830907012204i20fed7a9ud4ae5610cfc9a6ae@mail.gmail.com \
--to=menage@google.com \
--cc=akpm@linux-foundation.org \
--cc=balbir@linux.vnet.ibm.com \
--cc=containers@lists.linux-foundation.org \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lizf@cn.fujitsu.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®