{ 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 },
 
        /*
 #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,