]> rtime.felk.cvut.cz Git - can-eth-gw-linux.git/blobdiff - mm/memory-failure.c
Fix bug
[can-eth-gw-linux.git] / mm / memory-failure.c
index 2c9fc7340b12ce9cacf6d37264f50cd69eb56f22..108c52fa60f6eebeb67d12ba9d446d6e48005f3d 100644 (file)
@@ -781,16 +781,16 @@ static struct page_state {
        { compound,     compound,       "huge",         me_huge_page },
 #endif
 
-       { sc|dirty,     sc|dirty,       "swapcache",    me_swapcache_dirty },
-       { sc|dirty,     sc,             "swapcache",    me_swapcache_clean },
+       { sc|dirty,     sc|dirty,       "dirty swapcache",      me_swapcache_dirty },
+       { sc|dirty,     sc,             "clean swapcache",      me_swapcache_clean },
 
-       { unevict|dirty, unevict|dirty, "unevictable LRU", me_pagecache_dirty},
-       { unevict,      unevict,        "unevictable LRU", me_pagecache_clean},
+       { unevict|dirty, unevict|dirty, "dirty unevictable LRU", me_pagecache_dirty },
+       { unevict,      unevict,        "clean unevictable LRU", me_pagecache_clean },
 
-       { mlock|dirty,  mlock|dirty,    "mlocked LRU",  me_pagecache_dirty },
-       { mlock,        mlock,          "mlocked LRU",  me_pagecache_clean },
+       { mlock|dirty,  mlock|dirty,    "dirty mlocked LRU",    me_pagecache_dirty },
+       { mlock,        mlock,          "clean mlocked LRU",    me_pagecache_clean },
 
-       { lru|dirty,    lru|dirty,      "LRU",          me_pagecache_dirty },
+       { lru|dirty,    lru|dirty,      "dirty LRU",    me_pagecache_dirty },
        { lru|dirty,    lru,            "clean LRU",    me_pagecache_clean },
 
        /*
@@ -812,14 +812,14 @@ static struct page_state {
 #undef slab
 #undef reserved
 
+/*
+ * "Dirty/Clean" indication is not 100% accurate due to the possibility of
+ * setting PG_dirty outside page lock. See also comment above set_page_dirty().
+ */
 static void action_result(unsigned long pfn, char *msg, int result)
 {
-       struct page *page = pfn_to_page(pfn);
-
-       printk(KERN_ERR "MCE %#lx: %s%s page recovery: %s\n",
-               pfn,
-               PageDirty(page) ? "dirty " : "",
-               msg, action_name[result]);
+       pr_err("MCE %#lx: %s page recovery: %s\n",
+               pfn, msg, action_name[result]);
 }
 
 static int page_action(struct page_state *ps, struct page *p,