Drain local pages to make swsusp work

From: Pavel Machek (pavel@ucw.cz)
Date: Thu Jan 09 2003 - 16:51:54 EST


Hi!

With local pages present, swsusp's accounting goes wrong and you get
nice BUG(). This fixes it, please apply.
                                                                Pavel

--- clean/kernel/suspend.c 2002-12-18 22:21:13.000000000 +0100
+++ linux-swsusp/kernel/suspend.c 2002-12-23 18:58:51.000000000 +0100
@@ -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();
 

-- 
Worst form of spam? Adding advertisment signatures ala sourceforge.net.
What goes next? Inserting advertisment *into* email?
-
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/



This archive was generated by hypermail 2b29 : Wed Jan 15 2003 - 22:00:29 EST