diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2007-05-06 17:50:45 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-07 15:12:59 -0400 |
commit | 0709db6072c2e799eba1aa61bd19e0d7f38aa2cd (patch) | |
tree | e348c73adbfdcb46b05b23f36dc420ecdd62ca8a /kernel/power/snapshot.c | |
parent | 1525a2ad76f991eba9755f75c9b6d4d97abad25e (diff) |
swsusp: use GFP_KERNEL for creating basic data structures
Make swsusp call create_basic_memory_bitmaps() before processes are frozen, so
that GFP_KERNEL allocations can be made in it. Additionally, ensure that the
swsusp's userland interface won't be used while either pm_suspend_disk() or
software_resume() is being executed.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel/power/snapshot.c')
-rw-r--r-- | kernel/power/snapshot.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/kernel/power/snapshot.c b/kernel/power/snapshot.c index f66e4411795b..128da11f01c2 100644 --- a/kernel/power/snapshot.c +++ b/kernel/power/snapshot.c | |||
@@ -723,19 +723,19 @@ int create_basic_memory_bitmaps(void) | |||
723 | 723 | ||
724 | BUG_ON(forbidden_pages_map || free_pages_map); | 724 | BUG_ON(forbidden_pages_map || free_pages_map); |
725 | 725 | ||
726 | bm1 = kzalloc(sizeof(struct memory_bitmap), GFP_ATOMIC); | 726 | bm1 = kzalloc(sizeof(struct memory_bitmap), GFP_KERNEL); |
727 | if (!bm1) | 727 | if (!bm1) |
728 | return -ENOMEM; | 728 | return -ENOMEM; |
729 | 729 | ||
730 | error = memory_bm_create(bm1, GFP_ATOMIC | __GFP_COLD, PG_ANY); | 730 | error = memory_bm_create(bm1, GFP_KERNEL, PG_ANY); |
731 | if (error) | 731 | if (error) |
732 | goto Free_first_object; | 732 | goto Free_first_object; |
733 | 733 | ||
734 | bm2 = kzalloc(sizeof(struct memory_bitmap), GFP_ATOMIC); | 734 | bm2 = kzalloc(sizeof(struct memory_bitmap), GFP_KERNEL); |
735 | if (!bm2) | 735 | if (!bm2) |
736 | goto Free_first_bitmap; | 736 | goto Free_first_bitmap; |
737 | 737 | ||
738 | error = memory_bm_create(bm2, GFP_ATOMIC | __GFP_COLD, PG_ANY); | 738 | error = memory_bm_create(bm2, GFP_KERNEL, PG_ANY); |
739 | if (error) | 739 | if (error) |
740 | goto Free_second_object; | 740 | goto Free_second_object; |
741 | 741 | ||