swapfile: rearrange scan and swap_info
Before making functional changes, rearrange scan_swap_map() to simplify subsequent diffs. Actually, there is one functional change in there: leave cluster_nr negative while scanning for a new cluster - resetting it early increased the likelihood that when we have difficulty finding a free cluster, another task may come in and try doing exactly the same - just a waste of cpu. Before making functional changes, rearrange struct swap_info_struct slightly: flags will be needed as an unsigned long (for wait_on_bit), next is a good int to pair with prio, old_block_size is uninteresting so shift it to the end. Signed-off-by: Hugh Dickins <hugh@veritas.com> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: Nick Piggin <nickpiggin@yahoo.com.au> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:

committed by
Linus Torvalds

parent
81e3397127
commit
ebebbbe904
@@ -133,14 +133,14 @@ enum {
|
||||
* The in-memory structure used to track swap areas.
|
||||
*/
|
||||
struct swap_info_struct {
|
||||
unsigned int flags;
|
||||
unsigned long flags;
|
||||
int prio; /* swap priority */
|
||||
int next; /* next entry on swap list */
|
||||
struct file *swap_file;
|
||||
struct block_device *bdev;
|
||||
struct list_head extent_list;
|
||||
struct swap_extent *curr_swap_extent;
|
||||
unsigned old_block_size;
|
||||
unsigned short * swap_map;
|
||||
unsigned short *swap_map;
|
||||
unsigned int lowest_bit;
|
||||
unsigned int highest_bit;
|
||||
unsigned int cluster_next;
|
||||
@@ -148,7 +148,7 @@ struct swap_info_struct {
|
||||
unsigned int pages;
|
||||
unsigned int max;
|
||||
unsigned int inuse_pages;
|
||||
int next; /* next entry on swap list */
|
||||
unsigned int old_block_size;
|
||||
};
|
||||
|
||||
struct swap_list_t {
|
||||
|
Reference in New Issue
Block a user