Browse Source

HWPOISON: remove the free buddy page handler

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>
Wu Fengguang 15 years ago
parent
commit
95d01fc664
1 changed files with 4 additions and 10 deletions
  1. 4 10
      mm/memory-failure.c

+ 4 - 10
mm/memory-failure.c

@@ -400,14 +400,6 @@ static int me_unknown(struct page *p, unsigned long pfn)
 	return FAILED;
 	return FAILED;
 }
 }
 
 
-/*
- * Free memory
- */
-static int me_free(struct page *p, unsigned long pfn)
-{
-	return DELAYED;
-}
-
 /*
 /*
  * Clean (or cleaned) page cache page.
  * 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 tail		(1UL << PG_tail)
 #define compound	(1UL << PG_compound)
 #define compound	(1UL << PG_compound)
 #define slab		(1UL << PG_slab)
 #define slab		(1UL << PG_slab)
-#define buddy		(1UL << PG_buddy)
 #define reserved	(1UL << PG_reserved)
 #define reserved	(1UL << PG_reserved)
 
 
 static struct page_state {
 static struct page_state {
@@ -614,7 +605,10 @@ static struct page_state {
 	int (*action)(struct page *p, unsigned long pfn);
 	int (*action)(struct page *p, unsigned long pfn);
 } error_states[] = {
 } error_states[] = {
 	{ reserved,	reserved,	"reserved kernel",	me_ignore },
 	{ 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
 	 * Could in theory check if slab page is free or if we can drop