summaryrefslogtreecommitdiffstats
path: root/mm/memory-failure.c
diff options
context:
space:
mode:
authorWu Fengguang <fengguang.wu@intel.com>2009-12-16 12:19:58 +0100
committerAndi Kleen <ak@linux.intel.com>2009-12-16 12:19:58 +0100
commit95d01fc664b9476e0d18e3d745bb209a42a33588 (patch)
tree0b6a46b0f2e13fb169e64ebf0b270a52c666e7f6 /mm/memory-failure.c
parentdc2a1cbf7d862e9d0abea1d1b4c8712dfbb5a398 (diff)
downloadlinux-95d01fc664b9476e0d18e3d745bb209a42a33588.tar.bz2
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>
Diffstat (limited to 'mm/memory-failure.c')
-rw-r--r--mm/memory-failure.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/mm/memory-failure.c b/mm/memory-failure.c
index 9a285f8cdbe1..676ab394200e 100644
--- a/mm/memory-failure.c
+++ b/mm/memory-failure.c
@@ -401,14 +401,6 @@ static int me_unknown(struct page *p, unsigned long pfn)
}
/*
- * Free memory
- */
-static int me_free(struct page *p, unsigned long pfn)
-{
- return DELAYED;
-}
-
-/*
* Clean (or cleaned) page cache page.
*/
static int me_pagecache_clean(struct page *p, unsigned long pfn)
@@ -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