summaryrefslogtreecommitdiffstats
path: root/include/linux/vmalloc.h
diff options
context:
space:
mode:
authorEric Dumazet <dada1@cosmosbay.com>2006-11-10 12:27:48 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2006-11-13 07:40:42 -0800
commit2b4ac44e7c7e16cf9411b81693ff3e604f332bf1 (patch)
treeaf167ed7cf9e76f7b155d1af53a62c5d9c3b03ba /include/linux/vmalloc.h
parent088406bcf66d6c7fd8a5c04c00aa410ae9077403 (diff)
downloadlinux-2b4ac44e7c7e16cf9411b81693ff3e604f332bf1.tar.gz
linux-2b4ac44e7c7e16cf9411b81693ff3e604f332bf1.tar.bz2
linux-2b4ac44e7c7e16cf9411b81693ff3e604f332bf1.zip
[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.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/vmalloc.h b/include/linux/vmalloc.h
index dc9a29d84abc..924e502905d4 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;
};
/*