Commit 85949121 authored by Rafael J. Wysocki's avatar Rafael J. Wysocki Committed by Linus Torvalds

[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: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 8357376d
...@@ -63,7 +63,7 @@ static int submit(int rw, pgoff_t page_off, struct page *page, ...@@ -63,7 +63,7 @@ static int submit(int rw, pgoff_t page_off, struct page *page,
{ {
struct bio *bio; struct bio *bio;
bio = bio_alloc(GFP_ATOMIC, 1); bio = bio_alloc(__GFP_WAIT | __GFP_HIGH, 1);
if (!bio) if (!bio)
return -ENOMEM; return -ENOMEM;
bio->bi_sector = page_off * (PAGE_SIZE >> 9); 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,7 +216,7 @@ static int write_page(void *buf, sector_t offset, struct bio **bio_chain)
return -ENOSPC; return -ENOSPC;
if (bio_chain) { if (bio_chain) {
src = (void *)__get_free_page(GFP_ATOMIC); src = (void *)__get_free_page(__GFP_WAIT | __GFP_HIGH);
if (src) { if (src) {
memcpy(src, buf, PAGE_SIZE); memcpy(src, buf, PAGE_SIZE);
} else { } else {
...@@ -473,7 +473,7 @@ static int get_swap_reader(struct swap_map_handle *handle, sector_t start) ...@@ -473,7 +473,7 @@ static int get_swap_reader(struct swap_map_handle *handle, sector_t start)
if (!start) if (!start)
return -EINVAL; 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) if (!handle->cur)
return -ENOMEM; return -ENOMEM;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment