Forráskód Böngészése

[PATCH] swsusp: take lowmem reserves into account

swsusp allocates memory from the normal zone, so it cannot use lowmem
reserve pages from the lower zones.  Therefore it should not count these
pages as available to it.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Cc: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Rafael J. Wysocki 19 éve
szülő
commit
a938c356d5
1 módosított fájl, 3 hozzáadás és 1 törlés
  1. 3 1
      kernel/power/swsusp.c

+ 3 - 1
kernel/power/swsusp.c

@@ -188,8 +188,10 @@ int swsusp_shrink_memory(void)
 			PAGES_FOR_IO;
 		tmp = size;
 		for_each_zone (zone)
-			if (!is_highmem(zone))
+			if (!is_highmem(zone) && populated_zone(zone)) {
 				tmp -= zone->free_pages;
+				tmp += zone->lowmem_reserve[ZONE_NORMAL];
+			}
 		if (tmp > 0) {
 			tmp = __shrink_memory(tmp);
 			if (!tmp)