Testing the latest linux git tree turned up a few bugs with page
migration to and from ZONE_DEVICE private and anonymous pages.
Hopefully this series clarifies how ZONE_DEVICE private struct page
uses the same mapping and index fields from the source anonymous page
mapping.
Changes from v2 to v3:
Patch #1 is basically new (like v1 but with comments from v2) to
accommodate Matthew Wilcox's NAK of v2 and Christoph's objection to
adding _zd_pad fields in v1.
Patch #2 adds reviewed-by
Patch #3 adds comments explaining the reason for setting "subpage".
Changes from v1 to v2:
Patch #1 merges ZONE_DEVICE page struct into a union of lru and
a struct for ZONE_DEVICE fields. So, basically a new patch.
Patch #2 updates the code comments for clearing page->mapping as
suggested by John Hubbard.
Patch #3 is unchanged from the previous posting but note that
Andrew Morton has v1 queued in v5.2-mmotm-2019-07-18-16-08.
Ralph Campbell (3):
mm: document zone device struct page reserved fields
mm/hmm: fix ZONE_DEVICE anon page mapping reuse
mm/hmm: Fix bad subpage pointer in try_to_unmap_one
include/linux/mm_types.h | 9 ++++++++-
kernel/memremap.c | 4 ++++
mm/rmap.c | 1 +
3 files changed, 13 insertions(+), 1 deletion(-)
--
2.20.1