HWPOISON: remove the free buddy page handler
authorWu Fengguang <fengguang.wu@intel.com>
Wed, 16 Dec 2009 11:19:58 +0000 (12:19 +0100)
committerAndi Kleen <ak@linux.intel.com>
Wed, 16 Dec 2009 11:19:58 +0000 (12:19 +0100)
The buddy page has already be handled in the very beginning.
So remove redundant code.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
mm/memory-failure.c

index 9a285f8cdbe19879fdaaa2c8381334e3c19d738a..676ab394200e2e01da2beafafdd2d7a2f1ad5e1a 100644 (file)
@@ -400,14 +400,6 @@ static int me_unknown(struct page *p, unsigned long pfn)
        return FAILED;
 }
 
-/*
- * Free memory
- */
-static int me_free(struct page *p, unsigned long pfn)
-{
-       return DELAYED;
-}
-
 /*
  * Clean (or cleaned) page cache page.
  */
@@ -604,7 +596,6 @@ static int me_huge_page(struct page *p, unsigned long pfn)
 #define tail           (1UL << PG_tail)
 #define compound       (1UL << PG_compound)
 #define slab           (1UL << PG_slab)
-#define buddy          (1UL << PG_buddy)
 #define reserved       (1UL << PG_reserved)
 
 static struct page_state {
@@ -614,7 +605,10 @@ static struct page_state {
        int (*action)(struct page *p, unsigned long pfn);
 } error_states[] = {
        { reserved,     reserved,       "reserved kernel",      me_ignore },
-       { buddy,        buddy,          "free kernel",  me_free },
+       /*
+        * free pages are specially detected outside this table:
+        * PG_buddy pages only make a small fraction of all free pages.
+        */
 
        /*
         * Could in theory check if slab page is free or if we can drop