Commit d83f033a authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[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.
parent 29621f41
...@@ -41,6 +41,9 @@ extern int page_cluster; ...@@ -41,6 +41,9 @@ extern int page_cluster;
* per VM-area/task. A VM area is any part of the process virtual memory * 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 * space that has a special rule for the page-fault handlers (ie a shared
* library, the executable area etc). * 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 vm_area_struct {
struct mm_struct * vm_mm; /* The address space we belong to. */ struct mm_struct * vm_mm; /* The address space we belong to. */
......
...@@ -1078,7 +1078,7 @@ void __init proc_caches_init(void) ...@@ -1078,7 +1078,7 @@ void __init proc_caches_init(void)
vm_area_cachep = kmem_cache_create("vm_area_struct", vm_area_cachep = kmem_cache_create("vm_area_struct",
sizeof(struct vm_area_struct), 0, sizeof(struct vm_area_struct), 0,
SLAB_HWCACHE_ALIGN, NULL, NULL); 0, NULL, NULL);
if(!vm_area_cachep) if(!vm_area_cachep)
panic("vma_init: Cannot alloc vm_area_struct SLAB cache"); panic("vma_init: Cannot alloc vm_area_struct SLAB cache");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment