diff options
author | Tejun Heo <tj@kernel.org> | 2011-02-22 11:10:08 +0100 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2011-02-22 11:10:08 +0100 |
commit | b8ef9172b2aad7eeb1fcd37a9e632c7b24da1f64 (patch) | |
tree | c63a57e3c392f2d45ba975d29cdd768904ef169f /arch/x86/mm/numa_internal.h | |
parent | fbe99959d1db85222829a64d869dcab704ac7ec8 (diff) | |
download | lwn-b8ef9172b2aad7eeb1fcd37a9e632c7b24da1f64.tar.gz lwn-b8ef9172b2aad7eeb1fcd37a9e632c7b24da1f64.zip |
x86-64, NUMA: Move NUMA emulation into numa_emulation.c
Create numa_emulation.c and move all NUMA emulation code there. The
definitions of struct numa_memblk and numa_meminfo are moved to
numa_64.h. Also, numa_remove_memblk_from(), numa_cleanup_meminfo(),
numa_reset_distance() along with numa_emulation() are made global.
- v2: Internal declarations moved to numa_internal.h as suggested by
Yinghai.
Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Yinghai Lu <yinghai@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Diffstat (limited to 'arch/x86/mm/numa_internal.h')
-rw-r--r-- | arch/x86/mm/numa_internal.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/arch/x86/mm/numa_internal.h b/arch/x86/mm/numa_internal.h new file mode 100644 index 000000000000..ef2d97377d7c --- /dev/null +++ b/arch/x86/mm/numa_internal.h @@ -0,0 +1,31 @@ +#ifndef __X86_MM_NUMA_INTERNAL_H +#define __X86_MM_NUMA_INTERNAL_H + +#include <linux/types.h> +#include <asm/numa.h> + +struct numa_memblk { + u64 start; + u64 end; + int nid; +}; + +struct numa_meminfo { + int nr_blks; + struct numa_memblk blk[NR_NODE_MEMBLKS]; +}; + +void __init numa_remove_memblk_from(int idx, struct numa_meminfo *mi); +int __init numa_cleanup_meminfo(struct numa_meminfo *mi); +void __init numa_reset_distance(void); + +#ifdef CONFIG_NUMA_EMU +void __init numa_emulation(struct numa_meminfo *numa_meminfo, + int numa_dist_cnt); +#else +static inline void numa_emulation(struct numa_meminfo *numa_meminfo, + int numa_dist_cnt) +{ } +#endif + +#endif /* __X86_MM_NUMA_INTERNAL_H */ |