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) | |
[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 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;  };  /* | 
