diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2006-12-06 20:34:19 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-07 08:39:27 -0800 |
commit | 859491218770315ba95ee3fa09961fc71c506cae (patch) | |
tree | 102516d38b2ad342a193324771048d96d401dc8c | |
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>
-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 cbd187e9041..52e70ca832a 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, { struct bio *bio; - bio = bio_alloc(GFP_ATOMIC, 1); + bio = bio_alloc(__GFP_WAIT | __GFP_HIGH, 1); if (!bio) return -ENOMEM; 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) return -ENOSPC; if (bio_chain) { - src = (void *)__get_free_page(GFP_ATOMIC); + src = (void *)__get_free_page(__GFP_WAIT | __GFP_HIGH); if (src) { memcpy(src, buf, PAGE_SIZE); } else { @@ -473,7 +473,7 @@ static int get_swap_reader(struct swap_map_handle *handle, sector_t start) if (!start) return -EINVAL; - handle->cur = (struct swap_map_page *)get_zeroed_page(GFP_ATOMIC); + handle->cur = (struct swap_map_page *)get_zeroed_page(__GFP_WAIT | __GFP_HIGH); if (!handle->cur) return -ENOMEM; |