* Ingo Molnar <mingo@xxxxxxxxxx> wrote:
From: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>[...]
Add migrate_misplaced_page() which deals with migrating pages from
faults.
This includes adding a new MIGRATE_FAULT migration mode to
deal with the extra page reference required due to having to look up
the page.
--- a/include/linux/migrate_mode.h
+++ b/include/linux/migrate_mode.h
@@ -6,11 +6,14 @@
* on most operations but not ->writepage as the potential stall time
* is too significant
* MIGRATE_SYNC will block when migrating pages
+ * MIGRATE_FAULT called from the fault path to migrate-on-fault for mempolicy
+ * this path has an extra reference count
*/
Note, this is still the older, open-coded version.
The newer replacement version created from Mel's patch which
reuses migrate_pages() and is nicer on out-of-node-memory
conditions and is cleaner all around can be found below.
I tested it today and it appears to work fine. I noticed no
performance improvement or performance drop from it - if it
holds up in testing it will be part of the -v17 release of
numa/core.