]> git.karo-electronics.de Git - karo-tx-linux.git/commit
hwpoison: fix the handling path of the victimized page frame that belong to non-LRU
authorChen Yucong <slaoub@gmail.com>
Thu, 26 Jun 2014 00:42:28 +0000 (10:42 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Thu, 26 Jun 2014 00:42:28 +0000 (10:42 +1000)
commit2e6fa38aa2b092b3f96449851d5bf41dad87c6cb
treed4860b940422946e67d0dceb8afd935e45ea4702
parenta268bd506b9388e0073775fe24166ab8e3c67b66
hwpoison: fix the handling path of the victimized page frame that belong to non-LRU

Until now, the kernel has the same policy to handle victimized page frames
that belong to kernel-space(reserved/slab-subsystem) or non-LRU(unknown
page state).  In other word, the result of handling either of these
victimized page frames is (IGNORED | FAILED), and the return value of
memory_failure() is -EBUSY.

This patch is to avoid that memory_failure() returns very soon due to the
"true" value of (!PageLRU(p)), and it also ensures that action_result()
can report more precise information("reserved kernel", "kernel slab", and
"unknown page state") instead of "non LRU", especially for memory errors
which are detected by memory-scrubbing.

Signed-off-by: Chen Yucong <slaoub@gmail.com>
Acked-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/memory-failure.c