[PATCH V3 0/4] Define coherent device memory node

From: Anshuman Khandual
Date: Wed Feb 15 2017 - 07:08:00 EST


This four patches define CDM node with HugeTLB & Buddy allocation
isolation. Please refer to the last RFC posting mentioned here for more
details. The RFC series has been split for easier review process. The next
part of the work like VM flags, auto NUMA and KSM interactions with tagged
VMAs will follow later.

RFC https://lkml.org/lkml/2017/1/29/198

Changes in V3:

* Changed is_coherent_node interface into is_cdm_node
* Fixed the CDM allocation leak problem when cpuset is enabled on the system
which requires changes to get_page_from_freelist function and verifying
that the non NULL nodemask is indeed the requested one not becuase of the
cpuset override on the way

Changes in V2: (https://lkml.org/lkml/2017/2/10/183)

* Removed redundant nodemask_has_cdm() check from zonelist iterator
* Dropped the nodemask_had_cdm() function itself
* Added node_set/clear_state_cdm() functions and removed bunch of #ifdefs
* Moved CDM helper functions into nodemask.h from node.h header file
* Fixed the build failure by additional CONFIG_NEED_MULTIPLE_NODES check

Previous V1: (https://lkml.org/lkml/2017/2/8/329)

Anshuman Khandual (4):
mm: Define coherent device memory (CDM) node
mm: Enable HugeTLB allocation isolation for CDM nodes
mm: Add new parameter to get_page_from_freelist() function
mm: Enable Buddy allocation isolation for CDM nodes

Documentation/ABI/stable/sysfs-devices-node | 7 +++
arch/powerpc/Kconfig | 1 +
arch/powerpc/mm/numa.c | 7 +++
drivers/base/node.c | 6 +++
include/linux/nodemask.h | 58 ++++++++++++++++++++-
mm/Kconfig | 4 ++
mm/hugetlb.c | 25 +++++----
mm/memory_hotplug.c | 3 ++
mm/page_alloc.c | 81 +++++++++++++++++++++--------
9 files changed, 160 insertions(+), 32 deletions(-)

--
2.9.3