diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2006-12-06 23:34:19 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-07 11:39:27 -0500 |
commit | 859491218770315ba95ee3fa09961fc71c506cae (patch) | |
tree | 102516d38b2ad342a193324771048d96d401dc8c /kernel/power/swap.c | |
parent | 8357376d3df21b7d6f857931a57ac50da9c66e26 (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.c | 6 |
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 | ||