HWPOISON: Use bitmask/action code for try_to_unmap behaviour
authorAndi Kleen <andi@firstfloor.org>
Wed, 16 Sep 2009 09:50:10 +0000 (11:50 +0200)
committerAndi Kleen <ak@linux.intel.com>
Wed, 16 Sep 2009 09:50:10 +0000 (11:50 +0200)
commit14fa31b89c5ae79e4131da41761378a6df674352
treec6c79e89e0aa0b2efeaf657d4715250a406ab699
parenta6e04aa92965565968573a220a35b4e907385697
HWPOISON: Use bitmask/action code for try_to_unmap behaviour

try_to_unmap currently has multiple modi (migration, munlock, normal unmap)
which are selected by magic flag variables. The logic is not very straight
forward, because each of these flag change multiple behaviours (e.g.
migration turns off aging, not only sets up migration ptes etc.)
Also the different flags interact in magic ways.

A later patch in this series adds another mode to try_to_unmap, so
this becomes quickly unmanageable.

Replace the different flags with a action code (migration, munlock, munmap)
and some additional flags as modifiers (ignore mlock, ignore aging).
This makes the logic more straight forward and allows easier extension
to new behaviours. Change all the caller to declare what they want to
do.

This patch is supposed to be a nop in behaviour. If anyone can prove
it is not that would be a bug.

Cc: Lee.Schermerhorn@hp.com
Cc: npiggin@suse.de

Signed-off-by: Andi Kleen <ak@linux.intel.com>
include/linux/rmap.h
mm/migrate.c
mm/rmap.c
mm/vmscan.c