HWPOISON: add page flags filter
authorWu Fengguang <fengguang.wu@intel.com>
Wed, 16 Dec 2009 11:19:59 +0000 (12:19 +0100)
committerAndi Kleen <ak@linux.intel.com>
Wed, 16 Dec 2009 11:19:59 +0000 (12:19 +0100)
commit478c5ffc0b50527bd2390f2daa46cc16276b8413
treef58f5be9760fd0e81567611cf6e9f9bc77d1d3cd
parent1a9b5b7fe0c5dad8a635288882d36785dea742f9
HWPOISON: add page flags filter

When specified, only poison pages if ((page_flags & mask) == value).

-       corrupt-filter-flags-mask
-       corrupt-filter-flags-value

This allows stress testing of many kinds of pages.

Strictly speaking, the buddy pages requires taking zone lock, to avoid
setting PG_hwpoison on a "was buddy but now allocated to someone" page.
However we can just do nothing because we set PG_locked in the beginning,
this prevents the page allocator from allocating it to someone. (It will
BUG() on the unexpected PG_locked, which is fine for hwpoison testing.)

[AK: Add select PROC_PAGE_MONITOR to satisfy dependency]

CC: Nick Piggin <npiggin@suse.de>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Documentation/vm/hwpoison.txt
mm/Kconfig
mm/hwpoison-inject.c
mm/internal.h
mm/memory-failure.c