aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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)
401} 401}
402 402
403/* 403/*
404 * Free memory
405 */
406static int me_free(struct page *p, unsigned long pfn)
407{
408 return DELAYED;
409}
410
411/*
412 * Clean (or cleaned) page cache page. 404 * Clean (or cleaned) page cache page.
413 */ 405 */
414static int me_pagecache_clean(struct page *p, unsigned long pfn) 406static 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)
604#define tail (1UL << PG_tail) 596#define tail (1UL << PG_tail)
605#define compound (1UL << PG_compound) 597#define compound (1UL << PG_compound)
606#define slab (1UL << PG_slab) 598#define slab (1UL << PG_slab)
607#define buddy (1UL << PG_buddy)
608#define reserved (1UL << PG_reserved) 599#define reserved (1UL << PG_reserved)
609 600
610static struct page_state { 601static struct page_state {
@@ -614,7 +605,10 @@ static struct page_state {
614 int (*action)(struct page *p, unsigned long pfn); 605 int (*action)(struct page *p, unsigned long pfn);
615} error_states[] = { 606} error_states[] = {
616 { reserved, reserved, "reserved kernel", me_ignore }, 607 { reserved, reserved, "reserved kernel", me_ignore },
617 { buddy, buddy, "free kernel", me_free }, 608 /*
609 * free pages are specially detected outside this table:
610 * PG_buddy pages only make a small fraction of all free pages.
611 */
618 612
619 /* 613 /*
620 * Could in theory check if slab page is free or if we can drop 614 * Could in theory check if slab page is free or if we can drop