setup_node_bootmem() is taken from 64bit and doesn't use remap allocator. It's about to be shared with 32bit so add support for it. If NODE_DATA is remapped, it's noted in the debug message and node locality check is skipped as the __pa() of the remapped address doesn't reflect the actual physical address. On 64bit, remap allocator becomes noop and doesn't affect the behavior. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: Yinghai Lu <yinghai@kernel.org> Cc: David Rientjes <rientjes@google.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: "H. Peter Anvin" <hpa@zytor.com>
		
			
				
	
	
		
			39 lines
		
	
	
	
		
			889 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
	
		
			889 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
#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);
 | 
						|
 | 
						|
void __init x86_numa_init(void);
 | 
						|
 | 
						|
#ifdef CONFIG_X86_64
 | 
						|
static inline void init_alloc_remap(int nid, u64 start, u64 end)	{ }
 | 
						|
#else
 | 
						|
void __init init_alloc_remap(int nid, u64 start, u64 end);
 | 
						|
#endif
 | 
						|
 | 
						|
#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 */
 |