diff options
author | Eric Dumazet <dada1@cosmosbay.com> | 2006-11-10 12:27:48 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-11-13 07:40:42 -0800 |
commit | 2b4ac44e7c7e16cf9411b81693ff3e604f332bf1 (patch) | |
tree | af167ed7cf9e76f7b155d1af53a62c5d9c3b03ba /include/linux/vmalloc.h | |
parent | 088406bcf66d6c7fd8a5c04c00aa410ae9077403 (diff) | |
download | op-kernel-dev-2b4ac44e7c7e16cf9411b81693ff3e604f332bf1.zip op-kernel-dev-2b4ac44e7c7e16cf9411b81693ff3e604f332bf1.tar.gz |
[PATCH] vmalloc: optimization, cleanup, bugfixes
- reorder 'struct vm_struct' to speedup lookups on CPUS with small cache
lines. The fields 'next,addr,size' should be now in the same cache line,
to speedup lookups.
- One minor cleanup in __get_vm_area_node()
- Bugfixes in vmalloc_user() and vmalloc_32_user() NULL returns from
__vmalloc() and __find_vm_area() were not tested.
[akpm@osdl.org: remove redundant BUG_ONs]
Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux/vmalloc.h')
-rw-r--r-- | include/linux/vmalloc.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/vmalloc.h b/include/linux/vmalloc.h index dc9a29d..924e502 100644 --- a/include/linux/vmalloc.h +++ b/include/linux/vmalloc.h @@ -23,13 +23,14 @@ struct vm_area_struct; #endif struct vm_struct { + /* keep next,addr,size together to speedup lookups */ + struct vm_struct *next; void *addr; unsigned long size; unsigned long flags; struct page **pages; unsigned int nr_pages; unsigned long phys_addr; - struct vm_struct *next; }; /* |