Currently page_action() does not check dirty flag to determine whether
the error page is "clean mlocked/unevictable LRU" page.
This doesn't cause any misjudgement because we do matching against
"dirty mlocked/unevictable LRU" just before the check.
But in order to make code consistent and/or to avoid potential regression,
we had better check dirty flag explicitly.

Dependency:
  This patch depends on the patch "HWPOISON: change order of
  error_states[]'s elements" which perhaps will be merged in v3.9-rc1.

Suggested-by: Chen Gong <gong.c...@linux.intel.com>
Signed-off-by: Naoya Horiguchi <n-horigu...@ah.jp.nec.com>
---
 mm/memory-failure.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git v3.8.orig/mm/memory-failure.c v3.8/mm/memory-failure.c
index 01e4676..d99cd79 100644
--- v3.8.orig/mm/memory-failure.c
+++ v3.8/mm/memory-failure.c
@@ -785,10 +785,10 @@ static struct page_state {
        { sc|dirty,     sc,             "clean swapcache",      
me_swapcache_clean },
 
        { mlock|dirty,  mlock|dirty,    "dirty mlocked LRU",    
me_pagecache_dirty },
-       { mlock,        mlock,          "clean mlocked LRU",    
me_pagecache_clean },
+       { mlock|dirty,  mlock,          "clean mlocked LRU",    
me_pagecache_clean },
 
        { unevict|dirty, unevict|dirty, "dirty unevictable LRU", 
me_pagecache_dirty },
-       { unevict,      unevict,        "clean unevictable LRU", 
me_pagecache_clean },
+       { unevict|dirty, unevict,       "clean unevictable LRU", 
me_pagecache_clean },
 
        { lru|dirty,    lru|dirty,      "dirty LRU",    me_pagecache_dirty },
        { lru|dirty,    lru,            "clean LRU",    me_pagecache_clean },
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to