diff options
author | Richard Kennedy <richard@rsk.demon.co.uk> | 2008-07-25 01:48:35 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-25 10:53:45 -0700 |
commit | 33166b1ffca5e1945246bcaa77d72a22b0d3e531 (patch) | |
tree | 5e949f9f68c93ad4a487aa84aa959a5658cfd321 /include/linux/pid.h | |
parent | 3ae4eed34be0177a8e003411a84e4ee212adbced (diff) | |
download | linux-3.10-33166b1ffca5e1945246bcaa77d72a22b0d3e531.tar.gz linux-3.10-33166b1ffca5e1945246bcaa77d72a22b0d3e531.tar.bz2 linux-3.10-33166b1ffca5e1945246bcaa77d72a22b0d3e531.zip |
shrink struct pid by removing padding on 64 bit builds
When struct pid is built on a 64 bit platform gcc has to insert padding to
maintain the correct alignment, by simply reordering its members the
memory usage shrinks from 88 bytes to 80.
I've successfully run with this patch on my desktop AMD64 machine.
There are no significant kernel size changes to a default config.X86_64
on the latest git v2.6.26-rc1
text data bss dec hex filename
5404828 976760 734280 7115868 6c945c vmlinux
5404811 976760 734280 7115851 6c944b vmlinux.pid-patch
Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/pid.h')
-rw-r--r-- | include/linux/pid.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/pid.h b/include/linux/pid.h index c21c7e8124a..6f084b9e2c4 100644 --- a/include/linux/pid.h +++ b/include/linux/pid.h @@ -57,10 +57,10 @@ struct upid { struct pid { atomic_t count; + unsigned int level; /* lists of tasks that use this pid */ struct hlist_head tasks[PIDTYPE_MAX]; struct rcu_head rcu; - unsigned int level; struct upid numbers[1]; }; |