swap_info: note SWAP_MAP_SHMEM
While we're fiddling with the swap_map values, let's assign a particular value to shmem/tmpfs swap pages: their swap counts are never incremented, and it helps swapoff's try_to_unuse() a little if it can immediately distinguish those pages from process pages. Since we've no use for SWAP_MAP_BAD | COUNT_CONTINUED, we might as well use that 0xbf value for SWAP_MAP_SHMEM. Signed-off-by: Hugh Dickins <hugh.dickins@tiscali.co.uk> Reviewed-by: 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>
This commit is contained in:

committed by
Linus Torvalds

parent
570a335b8e
commit
aaa468653b
@@ -157,6 +157,7 @@ enum {
|
||||
#define SWAP_HAS_CACHE 0x40 /* Flag page is cached, in first swap_map */
|
||||
#define SWAP_CONT_MAX 0x7f /* Max count, in each swap_map continuation */
|
||||
#define COUNT_CONTINUED 0x80 /* See swap_map continuation for full count */
|
||||
#define SWAP_MAP_SHMEM 0xbf /* Owned by shmem/tmpfs, in first swap_map */
|
||||
|
||||
/*
|
||||
* The in-memory structure used to track swap areas.
|
||||
@@ -316,6 +317,7 @@ extern swp_entry_t get_swap_page(void);
|
||||
extern swp_entry_t get_swap_page_of_type(int);
|
||||
extern int valid_swaphandles(swp_entry_t, unsigned long *);
|
||||
extern int add_swap_count_continuation(swp_entry_t, gfp_t);
|
||||
extern void swap_shmem_alloc(swp_entry_t);
|
||||
extern int swap_duplicate(swp_entry_t);
|
||||
extern int swapcache_prepare(swp_entry_t);
|
||||
extern void swap_free(swp_entry_t);
|
||||
@@ -394,6 +396,10 @@ static inline int add_swap_count_continuation(swp_entry_t swp, gfp_t gfp_mask)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void swap_shmem_alloc(swp_entry_t swp)
|
||||
{
|
||||
}
|
||||
|
||||
static inline int swap_duplicate(swp_entry_t swp)
|
||||
{
|
||||
return 0;
|
||||
|
Reference in New Issue
Block a user