• David Rientjes's avatar
    nodemask: make NODEMASK_ALLOC more general · 4e7b8a6c
    David Rientjes authored
    
    
    This is a series of patches to provide control over the location of the
    allocation and freeing of persistent huge pages on a NUMA platform.
    Please consider for merging into mmotm.
    
    This series uses two mechanisms to constrain the nodes from which
    persistent huge pages are allocated: 1) the task NUMA mempolicy of the
    task modifying a new sysctl "nr_hugepages_mempolicy", based on a
    suggestion by Mel Gorman; and 2) a subset of the hugepages hstate sysfs
    attributes have been added [in V4] to each node system device under:
    
    	/sys/devices/node/node[0-9]*/hugepages
    
    The per node attibutes allow direct assignment of a huge page count on a
    specific node, regardless of the task's mempolicy or cpuset constraints.
    
    This patch:
    
    NODEMASK_ALLOC(x, m) assumes x is a type of struct, which is unnecessary.
    It's perfectly reasonable to use this macro to allocate a nodemask_t,
    which is anonymous, either dynamically or on the stack depending on
    NODES_SHIFT.
    Signed-off-by: default avatarDavid Rientjes <rientjes@google.com>
    Signed-off-by: default avatarLee Schermerhorn <lee.schermerhorn@hp.com>
    Acked-by: default avatarKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Cc: Mel Gorman <mel@csn.ul.ie>
    Cc: Randy Dunlap <randy.dunlap@oracle.com>
    Cc: Nishanth Aravamudan <nacc@us.ibm.com>
    Cc: Andi Kleen <andi@firstfloor.org>
    Cc: David Rientjes <rientjes@google.com>
    Cc: Adam Litke <agl@us.ibm.com>
    Cc: Andy Whitcroft <apw@canonical.com>
    Cc: Eric Whitney <eric.whitney@hp.com>
    Cc: Christoph Lameter <cl@linux-foundation.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    4e7b8a6c