Re: [PATCH 1/7] cgroups: Shrink struct cgroup_subsys

From: Li Zefan
Date: Mon Nov 08 2010 - 00:22:14 EST


(Sorry for the delayed reply)

Paul Menage wrote:
> On Fri, Oct 22, 2010 at 1:09 AM, Li Zefan <lizf@xxxxxxxxxxxxxx> wrote:
>> On x86_32, sizeof(struct cgroup_subsys) shrinks from 276 bytes
>> to 264.
>>
>> Signed-off-by: Li Zefan <lizf@xxxxxxxxxxxxxx>
>
> Acked-by: Paul Menage <menage@xxxxxxxxxx>
>
> 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
>>
>>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/