Messages in this thread | | | Date | Mon, 08 Nov 2010 13:23:18 +0800 | From | Li Zefan <> | Subject | Re: [PATCH 1/7] cgroups: Shrink struct cgroup_subsys |
| |
(Sorry for the delayed reply)
Paul Menage wrote: > On Fri, Oct 22, 2010 at 1:09 AM, Li Zefan <lizf@cn.fujitsu.com> wrote: >> On x86_32, sizeof(struct cgroup_subsys) shrinks from 276 bytes >> to 264. >> >> Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> > > Acked-by: Paul Menage <menage@google.com> > > Maybe use "bool" here? >
Do you mean:
bool active; bool disabled; ...
?
With alignment 5-8 bool values == 8 bytes in 64-bit machine, compared to 4 bytes with the approach this patch takes.
> Paul > >> --- >> include/linux/cgroup.h | 10 ++++++---- >> 1 files changed, 6 insertions(+), 4 deletions(-) >> >> diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h >> index ed4ba11..e23ded6 100644 >> --- a/include/linux/cgroup.h >> +++ b/include/linux/cgroup.h >> @@ -481,14 +481,16 @@ struct cgroup_subsys { >> void (*bind)(struct cgroup_subsys *ss, struct cgroup *root); >> >> int subsys_id; >> - int active; >> - int disabled; >> - int early_init; >> + >> + unsigned int active:1; >> + unsigned int disabled:1; >> + unsigned int early_init:1; >> /* >> * True if this subsys uses ID. ID is not available before cgroup_init() >> * (not available in early_init time.) >> */ >> - bool use_id; >> + unsigned int use_id:1; >> + >> #define MAX_CGROUP_TYPE_NAMELEN 32 >> const char *name; >> >> -- >> 1.7.0.1 >> >>
| |