diff options
| author | Andrew Morton <akpm@digeo.com> | 2002-12-29 21:40:44 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2002-12-29 21:40:44 -0800 |
| commit | d83f033a39a4bbe52b6c1ffd14bd994e70f9b6fe (patch) | |
| tree | cac4bf607c9268acfe1d4b866103d9c339803aa2 | |
| parent | 29621f41b70cb609f46db52e2a92faca9e6186ea (diff) | |
[PATCH] Don't cacheline-align vm_area_struct
Some workloads (Oracle...) use a huge number of VMA's. They are
currently a tidy 64 bytes in size, and padding them out to 128 on P4's
is not worthwhile.
| -rw-r--r-- | include/linux/mm.h | 3 | ||||
| -rw-r--r-- | kernel/fork.c | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/include/linux/mm.h b/include/linux/mm.h index df49cb472866..70177c796b12 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -41,6 +41,9 @@ extern int page_cluster; * per VM-area/task. A VM area is any part of the process virtual memory * space that has a special rule for the page-fault handlers (ie a shared * library, the executable area etc). + * + * This structure is exactly 64 bytes on ia32. Please think very, very hard + * before adding anything to it. */ struct vm_area_struct { struct mm_struct * vm_mm; /* The address space we belong to. */ diff --git a/kernel/fork.c b/kernel/fork.c index 6f7298827344..56f12f280dd3 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -1078,7 +1078,7 @@ void __init proc_caches_init(void) vm_area_cachep = kmem_cache_create("vm_area_struct", sizeof(struct vm_area_struct), 0, - SLAB_HWCACHE_ALIGN, NULL, NULL); + 0, NULL, NULL); if(!vm_area_cachep) panic("vma_init: Cannot alloc vm_area_struct SLAB cache"); |
