[PATCH] Save some bytes in mm_struct by filling holes on 64bit

Andi Kleen
2008-03-12T14:28:19Z

Save some bytes in mm_struct by filling holes

Putting int values together for better packing on 64bit
shrinks sizeof(struct mm_struct) from 776 bytes to 760 bytes.

Signed-off-by: Andi Kleen <ak@suse.de>

Index: linux-2.6.25-rc5/include/linux/mm_types.h
===================================================================
--- linux-2.6.25-rc5.orig/include/linux/mm_types.h
+++ linux-2.6.25-rc5/include/linux/mm_types.h
@@ -172,6 +172,7 @@ struct mm_struct {
atomic_t mm_users; /* How many users with user space? */
atomic_t mm_count; /* How many references to "struct mm_struct" (users count as 1) */
int map_count; /* number of VMAs */
+ rwlock_t ioctx_list_lock; /* aio lock */
struct rw_semaphore mmap_sem;
spinlock_t page_table_lock; /* Protects page tables and some counters */

@@ -213,14 +214,13 @@ struct mm_struct {
unsigned int token_priority;
unsigned int last_interval;

+ int core_waiters;
unsigned long flags; /* Must use atomic bitops to access the bits */

/* coredumping support */
- int core_waiters;
struct completion *core_startup_done, core_done;

/* aio bits */
- rwlock_t ioctx_list_lock;
struct kioctx *ioctx_list;
#ifdef CONFIG_CGROUP_MEM_RES_CTLR
struct mem_cgroup *mem_cgroup;