From: "Aneesh Kumar K.V" <aneesh.kumar-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
To: Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org,
lizf-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org,
containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
fweisbec-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
ctalbott-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
rni-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org
Subject: Re: [PATCH 03/10] cgroup: implement cgroup_add_cftypes() and friends
Date: Tue, 20 Mar 2012 14:22:02 +0530 [thread overview]
Message-ID: <877gyfu025.fsf@linux.vnet.ibm.com> (raw)
In-Reply-To: <1331940963-15756-4-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> writes:
> Currently, cgroup directories are populated by subsys->populate()
> callback explicitly creating files on each cgroup creation. This
> level of flexibility isn't needed or desirable. It provides largely
> unused flexibility which call for abuses while severely limiting what
> the core layer can do through the lack of structure and conventions.
>
> Per each cgroup file type, the only distinction that cgroup users is
> making is whether a cgroup is root or not, which can easily be
> expressed with flags.
>
> This patch introduces cgroup_add_cftypes() and its wrapper macros -
> CGROUP_SUBSYS_CFTYPES[_COND](). These deal with cftypes instead of
> individual files - controllers indicate that certain types of files
> exist for certain subsystem. Newly added CFTYPE_*_ON_ROOT flags
> indicate whether a cftype should be excluded or created only on the
> root cgroup.
>
> cgroup_add_cftypes() can be called any time whether the target
> subsystem is currently attached or not. cgroup core will create files
> on the existing cgroups as necessary. CGROUP_SUBSYS_CFTYPES[_COND]()
> are convenience macros controllers so that cftypes can be declared to
> belong to certain cgroup. The COND variant is useful for cases where
> certain files are dependent on boot time parameter.
>
> Further patches will convert the existing users and remove the file
> based interface. Note that this interface allows dynamic addition of
> files to an active controller. This will be used for sub-controller
> modularity and unified hierarchy in the longer term.
>
> This patch implements the new mechanism but doesn't apply it to any
> user.
>
.....
> +/*
> + * Declare cftype array @cfts for cgroup subsys @ss if @cond is %true.
> + * Useful if the files are dependent on boot time parameter.
> + */
> +#define CGROUP_SUBSYS_CFTYPES_COND(ss, cfts, cond) \
> + static int __init __cgroup_cfts_init_##ss_##cfts(void) \
> + { \
> + if ((cond)) \
> + WARN_ON(cgroup_add_cftypes(&ss, cfts)); \
> + return 0; \
> + } \
> + fs_initcall(__cgroup_cfts_init_##ss_##cfts);
> +
Instead of using CGROUP_SUBSYS_CFTYPES_COND, are you ok if other
subsystem called cgroup_add_cftypes ?. I am looking at how this will
impact http://article.gmane.org/gmane.linux.kernel.mm/75470 . With
HugeTLB we cannot do the above.
-aneesh
WARNING: multiple messages have this Message-ID (diff)
From: "Aneesh Kumar K.V" <aneesh.kumar-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
To: glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org,
lizf-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org,
containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
fweisbec-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
ctalbott-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
rni-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org
Subject: Re: [PATCH 03/10] cgroup: implement cgroup_add_cftypes() and friends
Date: Tue, 20 Mar 2012 14:22:02 +0530 [thread overview]
Message-ID: <877gyfu025.fsf@linux.vnet.ibm.com> (raw)
In-Reply-To: <1331940963-15756-4-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> writes:
> Currently, cgroup directories are populated by subsys->populate()
> callback explicitly creating files on each cgroup creation. This
> level of flexibility isn't needed or desirable. It provides largely
> unused flexibility which call for abuses while severely limiting what
> the core layer can do through the lack of structure and conventions.
>
> Per each cgroup file type, the only distinction that cgroup users is
> making is whether a cgroup is root or not, which can easily be
> expressed with flags.
>
> This patch introduces cgroup_add_cftypes() and its wrapper macros -
> CGROUP_SUBSYS_CFTYPES[_COND](). These deal with cftypes instead of
> individual files - controllers indicate that certain types of files
> exist for certain subsystem. Newly added CFTYPE_*_ON_ROOT flags
> indicate whether a cftype should be excluded or created only on the
> root cgroup.
>
> cgroup_add_cftypes() can be called any time whether the target
> subsystem is currently attached or not. cgroup core will create files
> on the existing cgroups as necessary. CGROUP_SUBSYS_CFTYPES[_COND]()
> are convenience macros controllers so that cftypes can be declared to
> belong to certain cgroup. The COND variant is useful for cases where
> certain files are dependent on boot time parameter.
>
> Further patches will convert the existing users and remove the file
> based interface. Note that this interface allows dynamic addition of
> files to an active controller. This will be used for sub-controller
> modularity and unified hierarchy in the longer term.
>
> This patch implements the new mechanism but doesn't apply it to any
> user.
>
.....
> +/*
> + * Declare cftype array @cfts for cgroup subsys @ss if @cond is %true.
> + * Useful if the files are dependent on boot time parameter.
> + */
> +#define CGROUP_SUBSYS_CFTYPES_COND(ss, cfts, cond) \
> + static int __init __cgroup_cfts_init_##ss_##cfts(void) \
> + { \
> + if ((cond)) \
> + WARN_ON(cgroup_add_cftypes(&ss, cfts)); \
> + return 0; \
> + } \
> + fs_initcall(__cgroup_cfts_init_##ss_##cfts);
> +
Instead of using CGROUP_SUBSYS_CFTYPES_COND, are you ok if other
subsystem called cgroup_add_cftypes ?. I am looking at how this will
impact http://article.gmane.org/gmane.linux.kernel.mm/75470 . With
HugeTLB we cannot do the above.
-aneesh
WARNING: multiple messages have this Message-ID (diff)
From: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
To: Tejun Heo <tj@kernel.org>,
glommer@parallels.com, lizf@cn.fujitsu.com,
containers@lists.linux-foundation.org, cgroups@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, fweisbec@gmail.com, rni@google.com,
ctalbott@google.com, Tejun Heo <tj@kernel.org>
Subject: Re: [PATCH 03/10] cgroup: implement cgroup_add_cftypes() and friends
Date: Tue, 20 Mar 2012 14:22:02 +0530 [thread overview]
Message-ID: <877gyfu025.fsf@linux.vnet.ibm.com> (raw)
In-Reply-To: <1331940963-15756-4-git-send-email-tj@kernel.org>
Tejun Heo <tj@kernel.org> writes:
> Currently, cgroup directories are populated by subsys->populate()
> callback explicitly creating files on each cgroup creation. This
> level of flexibility isn't needed or desirable. It provides largely
> unused flexibility which call for abuses while severely limiting what
> the core layer can do through the lack of structure and conventions.
>
> Per each cgroup file type, the only distinction that cgroup users is
> making is whether a cgroup is root or not, which can easily be
> expressed with flags.
>
> This patch introduces cgroup_add_cftypes() and its wrapper macros -
> CGROUP_SUBSYS_CFTYPES[_COND](). These deal with cftypes instead of
> individual files - controllers indicate that certain types of files
> exist for certain subsystem. Newly added CFTYPE_*_ON_ROOT flags
> indicate whether a cftype should be excluded or created only on the
> root cgroup.
>
> cgroup_add_cftypes() can be called any time whether the target
> subsystem is currently attached or not. cgroup core will create files
> on the existing cgroups as necessary. CGROUP_SUBSYS_CFTYPES[_COND]()
> are convenience macros controllers so that cftypes can be declared to
> belong to certain cgroup. The COND variant is useful for cases where
> certain files are dependent on boot time parameter.
>
> Further patches will convert the existing users and remove the file
> based interface. Note that this interface allows dynamic addition of
> files to an active controller. This will be used for sub-controller
> modularity and unified hierarchy in the longer term.
>
> This patch implements the new mechanism but doesn't apply it to any
> user.
>
.....
> +/*
> + * Declare cftype array @cfts for cgroup subsys @ss if @cond is %true.
> + * Useful if the files are dependent on boot time parameter.
> + */
> +#define CGROUP_SUBSYS_CFTYPES_COND(ss, cfts, cond) \
> + static int __init __cgroup_cfts_init_##ss_##cfts(void) \
> + { \
> + if ((cond)) \
> + WARN_ON(cgroup_add_cftypes(&ss, cfts)); \
> + return 0; \
> + } \
> + fs_initcall(__cgroup_cfts_init_##ss_##cfts);
> +
Instead of using CGROUP_SUBSYS_CFTYPES_COND, are you ok if other
subsystem called cgroup_add_cftypes ?. I am looking at how this will
impact http://article.gmane.org/gmane.linux.kernel.mm/75470 . With
HugeTLB we cannot do the above.
-aneesh
next prev parent reply other threads:[~2012-03-20 8:52 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-16 23:35 [PATCHSET] cgroup: cftype based file interface Tejun Heo
2012-03-16 23:35 ` Tejun Heo
[not found] ` <1331940963-15756-1-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-03-16 23:35 ` [PATCH 01/10] cgroup: move cgroup_clear_directory() call out of cgroup_populate_dir() Tejun Heo
2012-03-16 23:35 ` Tejun Heo
[not found] ` <1331940963-15756-2-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-03-19 10:25 ` Glauber Costa
2012-03-19 10:25 ` Glauber Costa
2012-03-19 10:25 ` Glauber Costa
2012-03-16 23:35 ` [PATCH 02/10] cgroup: build list of all cgroups under a given cgroupfs_root Tejun Heo
2012-03-16 23:35 ` Tejun Heo
2012-03-16 23:35 ` [PATCH 03/10] cgroup: implement cgroup_add_cftypes() and friends Tejun Heo
2012-03-16 23:35 ` Tejun Heo
[not found] ` <1331940963-15756-4-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-03-20 8:52 ` Aneesh Kumar K.V [this message]
2012-03-20 8:52 ` Aneesh Kumar K.V
2012-03-20 8:52 ` Aneesh Kumar K.V
[not found] ` <877gyfu025.fsf-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2012-03-20 16:03 ` Tejun Heo
2012-03-20 16:03 ` Tejun Heo
[not found] ` <20120320160347.GE5684-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-03-20 16:04 ` Glauber Costa
2012-03-16 23:35 ` [PATCH 04/10] cgroup: merge cft_release_agent cftype array into the base files array Tejun Heo
2012-03-16 23:35 ` Tejun Heo
2012-03-16 23:35 ` [PATCH 05/10] cgroup: convert all non-memcg controllers to the new cftype interface Tejun Heo
2012-03-16 23:35 ` Tejun Heo
2012-03-16 23:35 ` [PATCH 06/10] cgroup: convert memcg controller " Tejun Heo
2012-03-16 23:35 ` Tejun Heo
[not found] ` <1331940963-15756-7-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-03-19 4:26 ` KAMEZAWA Hiroyuki
2012-03-19 4:26 ` KAMEZAWA Hiroyuki
[not found] ` <4F66B55A.8020307-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2012-03-19 10:43 ` Glauber Costa
2012-03-19 10:43 ` Glauber Costa
2012-03-19 10:43 ` Glauber Costa
[not found] ` <4F670DC2.1030904-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-03-19 16:15 ` Tejun Heo
2012-03-19 16:15 ` Tejun Heo
2012-03-19 16:10 ` Tejun Heo
2012-03-19 16:10 ` Tejun Heo
[not found] ` <20120319161052.GC11069-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-03-21 4:42 ` KAMEZAWA Hiroyuki
2012-03-21 4:42 ` KAMEZAWA Hiroyuki
[not found] ` <4F695C3F.3000406-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2012-03-21 5:08 ` Tejun Heo
2012-03-21 5:08 ` Tejun Heo
2012-03-16 23:36 ` [PATCH 07/10] cgroup: remove cgroup_add_file[s]() Tejun Heo
2012-03-16 23:36 ` Tejun Heo
[not found] ` <1331940963-15756-8-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-03-20 8:47 ` Aneesh Kumar K.V
2012-03-20 8:47 ` Aneesh Kumar K.V
2012-03-20 8:47 ` Aneesh Kumar K.V
[not found] ` <87aa3bu094.fsf-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2012-03-20 16:01 ` Tejun Heo
2012-03-20 16:01 ` Tejun Heo
2012-03-16 23:36 ` [PATCH 08/10] cgroup: relocate __d_cgrp() and __d_cft() Tejun Heo
2012-03-16 23:36 ` Tejun Heo
2012-03-16 23:36 ` [PATCH 09/10] cgroup: introduce struct cfent Tejun Heo
2012-03-16 23:36 ` Tejun Heo
[not found] ` <1331940963-15756-10-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-03-20 14:05 ` Glauber Costa
2012-03-20 14:05 ` Glauber Costa
[not found] ` <4F688EA9.8050905-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-03-20 16:02 ` Tejun Heo
2012-03-20 16:02 ` Tejun Heo
[not found] ` <20120320160228.GD5684-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-03-20 16:03 ` Glauber Costa
2012-03-20 16:03 ` Glauber Costa
[not found] ` <4F68AA37.80604-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-03-20 16:11 ` Glauber Costa
2012-03-20 16:11 ` Glauber Costa
2012-03-20 16:11 ` Glauber Costa
2012-03-20 16:49 ` Tejun Heo
2012-03-20 16:49 ` Tejun Heo
[not found] ` <20120320164915.GF5684-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-03-20 16:51 ` Glauber Costa
2012-03-20 16:51 ` Glauber Costa
2012-03-20 16:02 ` Tejun Heo
2012-03-20 18:06 ` [PATCH UPDATED " Tejun Heo
2012-03-20 18:06 ` Tejun Heo
2012-03-16 23:36 ` [PATCH 10/10] cgroup: implement cgroup_rm_cftypes() Tejun Heo
2012-03-16 23:36 ` Tejun Heo
2012-03-19 10:22 ` [PATCHSET] cgroup: cftype based file interface Glauber Costa
2012-03-19 10:22 ` Glauber Costa
2012-03-19 10:22 ` Glauber Costa
[not found] ` <4F6708F4.4000604-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-03-19 16:05 ` Tejun Heo
2012-03-19 16:05 ` Tejun Heo
2012-03-19 16:05 ` Tejun Heo
[not found] ` <20120319160532.GB11069-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-03-19 16:12 ` Glauber Costa
2012-03-19 16:12 ` Glauber Costa
[not found] ` <4F675B01.70901-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-03-19 16:15 ` Tejun Heo
2012-03-19 16:15 ` Tejun Heo
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=877gyfu025.fsf@linux.vnet.ibm.com \
--to=aneesh.kumar-23vcf4htsmix0ybbhkvfkdbpr1lh4cv8@public.gmane.org \
--cc=cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
--cc=ctalbott-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
--cc=fweisbec-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=lizf-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org \
--cc=rni-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
--cc=tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.