aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/power/swap.c
diff options
context:
space:
mode:
authorRafael J. Wysocki <rjw@sisk.pl>2006-12-06 23:34:19 -0500
committerLinus Torvalds <torvalds@woody.osdl.org>2006-12-07 11:39:27 -0500
commit859491218770315ba95ee3fa09961fc71c506cae (patch)
tree102516d38b2ad342a193324771048d96d401dc8c /kernel/power/swap.c
parent8357376d3df21b7d6f857931a57ac50da9c66e26 (diff)
[PATCH] swsusp: use __GFP_WAIT
swsusp uses GFP_ATOMIC, but it can afford to use __GFP_WAIT, which will permit it to reclaim clean pagecache instead of emitting scary page-allocation-failure messages. Cc: Pavel Machek <pavel@ucw.cz> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'kernel/power/swap.c')
-rw-r--r--kernel/power/swap.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/kernel/power/swap.c b/kernel/power/swap.c
index cbd187e90410..52e70ca832a8 100644
--- a/kernel/power/swap.c
+++ b/kernel/power/swap.c
@@ -63,7 +63,7 @@ static int submit(int rw, pgoff_t page_off, struct page *page,
63{ 63{
64 struct bio *bio; 64 struct bio *bio;
65 65
66 bio = bio_alloc(GFP_ATOMIC, 1); 66 bio = bio_alloc(__GFP_WAIT | __GFP_HIGH, 1);
67 if (!bio) 67 if (!bio)
68 return -ENOMEM; 68 return -ENOMEM;
69 bio->bi_sector = page_off * (PAGE_SIZE >> 9); 69 bio->bi_sector = page_off * (PAGE_SIZE >> 9);
@@ -216,7 +216,7 @@ static int write_page(void *buf, sector_t offset, struct bio **bio_chain)
216 return -ENOSPC; 216 return -ENOSPC;
217 217
218 if (bio_chain) { 218 if (bio_chain) {
219 src = (void *)__get_free_page(GFP_ATOMIC); 219 src = (void *)__get_free_page(__GFP_WAIT | __GFP_HIGH);
220 if (src) { 220 if (src) {
221 memcpy(src, buf, PAGE_SIZE); 221 memcpy(src, buf, PAGE_SIZE);
222 } else { 222 } else {
@@ -473,7 +473,7 @@ static int get_swap_reader(struct swap_map_handle *handle, sector_t start)
473 if (!start) 473 if (!start)
474 return -EINVAL; 474 return -EINVAL;
475 475
476 handle->cur = (struct swap_map_page *)get_zeroed_page(GFP_ATOMIC); 476 handle->cur = (struct swap_map_page *)get_zeroed_page(__GFP_WAIT | __GFP_HIGH);
477 if (!handle->cur) 477 if (!handle->cur)
478 return -ENOMEM; 478 return -ENOMEM;
479 479