Hi all, this series started with two patches from Logan that now are in the middle of the series to kill the memremap-internal pgmap structure and to redo the dev_memreamp_pages interface to be better suitable for future PCI P2P uses. I reviewed them and noticed that there isn't really any good reason to keep struct vmem_altmap either, and that a lot of these alternative device page map access should be better abstracted out instead of being sprinkled all over the mm code. But when we got the RCU warnings in V1 I went for yet another approach, and now struct vmem_altmap is kept for now, but passed explicitly through the memory hotplug code instead of having to do unprotected lookups through the radix tree. The end result is that only the get_user_pages path ever looks up struct dev_pagemap, and struct vmem_altmap is now always embedded into struct dev_pagemap, and explicitly passed where needed. Please review carefully, this has only been tested with my legacy e820 NVDIMM system. Chances since V2: - properly pass altmap from dev_devm_memremap_pages through add_pages (Dan Williams) - small changelog updates - a comment type fix - dropped the patch to just rely on the radix_tree_insert return value - initialize pgmap->type -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>