diff options
author | Hugh Dickins <hugh.dickins@tiscali.co.uk> | 2009-12-14 20:58:48 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-12-15 11:53:16 -0500 |
commit | 7509765a29cfb1a4c506c09b304aaf3b4111c653 (patch) | |
tree | 1f2de5381e044b452653a3af0f32e403ffe51931 /include/linux/swap.h | |
parent | aaa468653b4a0d11c603c48d716f765177a5a9e4 (diff) |
swap_info: reorder its fields
Reorder (and comment) the fields of swap_info_struct, to make better
use of its cachelines: it's good for swap_duplicate() in particular
if unsigned int max and swap_map are near the start.
Signed-off-by: Hugh Dickins <hugh.dickins@tiscali.co.uk>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Rik van Riel <riel@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/swap.h')
-rw-r--r-- | include/linux/swap.h | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/include/linux/swap.h b/include/linux/swap.h index ac43d87b89b0..9f0ca325e30d 100644 --- a/include/linux/swap.h +++ b/include/linux/swap.h | |||
@@ -167,21 +167,21 @@ struct swap_info_struct { | |||
167 | signed short prio; /* swap priority of this type */ | 167 | signed short prio; /* swap priority of this type */ |
168 | signed char type; /* strange name for an index */ | 168 | signed char type; /* strange name for an index */ |
169 | signed char next; /* next type on the swap list */ | 169 | signed char next; /* next type on the swap list */ |
170 | struct file *swap_file; | 170 | unsigned int max; /* extent of the swap_map */ |
171 | struct block_device *bdev; | 171 | unsigned char *swap_map; /* vmalloc'ed array of usage counts */ |
172 | struct swap_extent first_swap_extent; | 172 | unsigned int lowest_bit; /* index of first free in swap_map */ |
173 | struct swap_extent *curr_swap_extent; | 173 | unsigned int highest_bit; /* index of last free in swap_map */ |
174 | unsigned char *swap_map; | 174 | unsigned int pages; /* total of usable pages of swap */ |
175 | unsigned int lowest_bit; | 175 | unsigned int inuse_pages; /* number of those currently in use */ |
176 | unsigned int highest_bit; | 176 | unsigned int cluster_next; /* likely index for next allocation */ |
177 | unsigned int cluster_nr; /* countdown to next cluster search */ | ||
177 | unsigned int lowest_alloc; /* while preparing discard cluster */ | 178 | unsigned int lowest_alloc; /* while preparing discard cluster */ |
178 | unsigned int highest_alloc; /* while preparing discard cluster */ | 179 | unsigned int highest_alloc; /* while preparing discard cluster */ |
179 | unsigned int cluster_next; | 180 | struct swap_extent *curr_swap_extent; |
180 | unsigned int cluster_nr; | 181 | struct swap_extent first_swap_extent; |
181 | unsigned int pages; | 182 | struct block_device *bdev; /* swap device or bdev of swap file */ |
182 | unsigned int max; | 183 | struct file *swap_file; /* seldom referenced */ |
183 | unsigned int inuse_pages; | 184 | unsigned int old_block_size; /* seldom referenced */ |
184 | unsigned int old_block_size; | ||
185 | }; | 185 | }; |
186 | 186 | ||
187 | struct swap_list_t { | 187 | struct swap_list_t { |