[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [XEN RFC PATCH 09/40] xen/x86: Move numa_add_cpu_node to common
This function will be reused by Arm later, so we move it from arch/x86 to common. But we keep cpu_to_node and node_to_cpumask to x86 header file. Because cpu_to_node and node_to_cpumask have different implementation for x86 and Arm. We will move them to common header file when we change the Arm implementation in later patches. Signed-off-by: Wei Chen <wei.chen@xxxxxxx> --- xen/arch/x86/numa.c | 9 --------- xen/common/numa.c | 11 +++++++++++ xen/include/asm-x86/numa.h | 1 - xen/include/xen/numa.h | 2 ++ 4 files changed, 13 insertions(+), 10 deletions(-) diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c index a6211be121..f2626b3968 100644 --- a/xen/arch/x86/numa.c +++ b/xen/arch/x86/numa.c @@ -29,16 +29,12 @@ custom_param("numa", numa_setup); /* from proto.h */ #define round_up(x,y) ((((x)+(y))-1) & (~((y)-1))) -nodeid_t cpu_to_node[NR_CPUS] __read_mostly = { - [0 ... NR_CPUS-1] = NUMA_NO_NODE -}; /* * Keep BIOS's CPU2node information, should not be used for memory allocaion */ nodeid_t apicid_to_node[MAX_LOCAL_APIC] = { [0 ... MAX_LOCAL_APIC-1] = NUMA_NO_NODE }; -cpumask_t node_to_cpumask[MAX_NUMNODES] __read_mostly; nodemask_t __read_mostly node_online_map = { { [0] = 1UL } }; @@ -167,11 +163,6 @@ void __init numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn) (u64)end_pfn << PAGE_SHIFT); } -void numa_add_cpu(int cpu) -{ - cpumask_set_cpu(cpu, &node_to_cpumask[cpu_to_node(cpu)]); -} - void numa_set_node(int cpu, nodeid_t node) { cpu_to_node[cpu] = node; diff --git a/xen/common/numa.c b/xen/common/numa.c index e65b6a6676..9b6f23dfc1 100644 --- a/xen/common/numa.c +++ b/xen/common/numa.c @@ -23,6 +23,12 @@ typeof(*memnodemap) _memnodemap[64]; unsigned long memnodemapsize; u8 *memnodemap; +nodeid_t cpu_to_node[NR_CPUS] __read_mostly = { + [0 ... NR_CPUS-1] = NUMA_NO_NODE +}; + +cpumask_t node_to_cpumask[MAX_NUMNODES] __read_mostly; + /* * Given a shift value, try to populate memnodemap[] * Returns : @@ -129,3 +135,8 @@ int __init compute_hash_shift(struct node *nodes, int numnodes, return shift; } + +void numa_add_cpu(int cpu) +{ + cpumask_set_cpu(cpu, &node_to_cpumask[cpu_to_node(cpu)]); +} diff --git a/xen/include/asm-x86/numa.h b/xen/include/asm-x86/numa.h index abe5617d01..07ff78ea1b 100644 --- a/xen/include/asm-x86/numa.h +++ b/xen/include/asm-x86/numa.h @@ -27,7 +27,6 @@ extern nodeid_t pxm_to_node(unsigned int pxm); #define ZONE_ALIGN (1UL << (MAX_ORDER+PAGE_SHIFT)) -extern void numa_add_cpu(int cpu); extern void numa_init_array(void); extern bool numa_off; diff --git a/xen/include/xen/numa.h b/xen/include/xen/numa.h index 39e8a4e00a..f9769cba4b 100644 --- a/xen/include/xen/numa.h +++ b/xen/include/xen/numa.h @@ -51,6 +51,8 @@ static inline __attribute__((pure)) nodeid_t phys_to_nid(paddr_t addr) #define node_end_pfn(nid) (NODE_DATA(nid)->node_start_pfn + \ NODE_DATA(nid)->node_spanned_pages) +extern void numa_add_cpu(int cpu); + #endif /* CONFIG_NUMA */ #endif /* _XEN_NUMA_H */ -- 2.25.1
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |