]> Git Repo - linux.git/commit - include/linux/topology.h
numa: add generic percpu var numa_node_id() implementation
authorLee Schermerhorn <[email protected]>
Wed, 26 May 2010 21:44:56 +0000 (14:44 -0700)
committerLinus Torvalds <[email protected]>
Thu, 27 May 2010 16:12:57 +0000 (09:12 -0700)
commit7281201922a0063fa60804ce39c277fc98142a47
tree4bf089d077b1055e54bc1411dcc0db121d01d9fa
parent866707fc2721df8fee637fcf0239628b9231f9ea
numa: add generic percpu var numa_node_id() implementation

Rework the generic version of the numa_node_id() function to use the new
generic percpu variable infrastructure.

Guard the new implementation with a new config option:

        CONFIG_USE_PERCPU_NUMA_NODE_ID.

Archs which support this new implemention will default this option to 'y'
when NUMA is configured.  This config option could be removed if/when all
archs switch over to the generic percpu implementation of numa_node_id().
Arch support involves:

  1) converting any existing per cpu variable implementations to use
     this implementation.  x86_64 is an instance of such an arch.
  2) archs that don't use a per cpu variable for numa_node_id() will
     need to initialize the new per cpu variable "numa_node" as cpus
     are brought on-line.  ia64 is an example.
  3) Defining USE_PERCPU_NUMA_NODE_ID in arch dependent Kconfig--e.g.,
     when NUMA is configured.  This is required because I have
     retained the old implementation by default to allow archs to
     be modified incrementally, as desired.

Subsequent patches will convert x86_64 and ia64 to use this implemenation.

Signed-off-by: Lee Schermerhorn <[email protected]>
Cc: Tejun Heo <[email protected]>
Cc: Mel Gorman <[email protected]>
Reviewed-by: Christoph Lameter <[email protected]>
Cc: Nick Piggin <[email protected]>
Cc: David Rientjes <[email protected]>
Cc: Eric Whitney <[email protected]>
Cc: KAMEZAWA Hiroyuki <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: "H. Peter Anvin" <[email protected]>
Cc: "Luck, Tony" <[email protected]>
Cc: Pekka Enberg <[email protected]>
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
arch/x86/include/asm/topology.h
include/linux/topology.h
mm/page_alloc.c
This page took 0.057896 seconds and 4 git commands to generate.