aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorChristoph Lameter <clameter@sgi.com>2006-01-08 04:00:53 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-08 23:12:42 -0500
commit1480a540c98525640174a7eadd712378fcd6fd63 (patch)
tree28f2cc0aa819ff0aed30dd85bb16177d4a73002b /include
parent8419c3181086c86664e8246bc997afc2e4ffba4f (diff)
[PATCH] SwapMig: add_to_swap() avoid atomic allocations
Add gfp_mask to add_to_swap add_to_swap does allocations with GFP_ATOMIC in order not to interfere with swapping. During migration we may have use add_to_swap extensively which may lead to out of memory errors. This patch makes add_to_swap take a parameter that specifies the gfp mask. The page migration code can then make add_to_swap use GFP_KERNEL. Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp> Signed-off-by: Dave Hansen <haveblue@us.ibm.com> Signed-off-by: Christoph Lameter <clameter@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/swap.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/swap.h b/include/linux/swap.h
index 997d838f0e70..eb591eaad1b7 100644
--- a/include/linux/swap.h
+++ b/include/linux/swap.h
@@ -198,7 +198,7 @@ extern int rw_swap_page_sync(int, swp_entry_t, struct page *);
198extern struct address_space swapper_space; 198extern struct address_space swapper_space;
199#define total_swapcache_pages swapper_space.nrpages 199#define total_swapcache_pages swapper_space.nrpages
200extern void show_swap_cache_info(void); 200extern void show_swap_cache_info(void);
201extern int add_to_swap(struct page *); 201extern int add_to_swap(struct page *, gfp_t);
202extern void __delete_from_swap_cache(struct page *); 202extern void __delete_from_swap_cache(struct page *);
203extern void delete_from_swap_cache(struct page *); 203extern void delete_from_swap_cache(struct page *);
204extern int move_to_swap_cache(struct page *, swp_entry_t); 204extern int move_to_swap_cache(struct page *, swp_entry_t);