Hi!
With local pages present, swsusp's accounting goes wrong and you get
nice BUG(). This fixes it, please apply.
Pavel
--- trivial-2.5.57/kernel/suspend.c.orig 2003-01-14 12:54:30.000000000 +1100
+++ trivial-2.5.57/kernel/suspend.c 2003-01-14 12:54:30.000000000 +1100
@@ -680,6 +680,8 @@
struct sysinfo i;
unsigned int nr_needed_pages = 0;
+ drain_local_pages();
+
pagedir_nosave = NULL;
printk( "/critical section: Counting pages to copy" );
nr_copy_pages = count_and_copy_data_pages(NULL);
@@ -714,6 +716,7 @@
nr_copy_pages_check = nr_copy_pages;
pagedir_order_check = pagedir_order;
+ drain_local_pages(); /* During allocating of suspend pagedir, new cold pages may appear. Kill them */
if (nr_copy_pages != count_and_copy_data_pages(pagedir_nosave)) /* copy */
BUG();
-- Don't blame me: the Monkey is driving File: Pavel Machek <pavel@ucw.cz>: Drain local pages to make swsusp work - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/