]>
Commit | Line | Data |
---|---|---|
1965aae3 PA |
1 | #ifndef _ASM_X86_NUMA_64_H |
2 | #define _ASM_X86_NUMA_64_H | |
1da177e4 LT |
3 | |
4 | #include <linux/nodemask.h> | |
1da177e4 | 5 | |
abe059e7 | 6 | struct bootnode { |
cb046eed JP |
7 | u64 start; |
8 | u64 end; | |
1da177e4 LT |
9 | }; |
10 | ||
6ec6e0d9 SS |
11 | extern int compute_hash_shift(struct bootnode *nodes, int numblks, |
12 | int *nodeids); | |
1da177e4 LT |
13 | |
14 | #define ZONE_ALIGN (1UL << (MAX_ORDER+PAGE_SHIFT)) | |
15 | ||
1da177e4 LT |
16 | extern void numa_init_array(void); |
17 | extern int numa_off; | |
18 | ||
aaa64e04 TG |
19 | extern unsigned long numa_free_all_bootmem(void); |
20 | extern void setup_node_bootmem(int nodeid, unsigned long start, | |
21 | unsigned long end); | |
22 | ||
05b3cbd8 | 23 | #ifdef CONFIG_NUMA |
7c43769a YL |
24 | /* |
25 | * Too small node sizes may confuse the VM badly. Usually they | |
26 | * result from BIOS bugs. So dont recognize nodes as standalone | |
27 | * NUMA entities that have less than this amount of RAM listed: | |
28 | */ | |
29 | #define NODE_MIN_SIZE (4*1024*1024) | |
30 | ||
05b3cbd8 | 31 | extern void __init init_cpu_to_node(void); |
bbc9e2f4 | 32 | extern int __cpuinit numa_cpu_node(int cpu); |
23ca4bba MT |
33 | extern void __cpuinit numa_add_cpu(int cpu); |
34 | extern void __cpuinit numa_remove_cpu(int cpu); | |
8df5bb34 DR |
35 | |
36 | #ifdef CONFIG_NUMA_EMU | |
34dc9e74 | 37 | #define FAKE_NODE_MIN_SIZE ((u64)32 << 20) |
8df5bb34 | 38 | #define FAKE_NODE_MIN_HASH_MASK (~(FAKE_NODE_MIN_SIZE - 1UL)) |
90321602 | 39 | void numa_emu_cmdline(char *); |
8df5bb34 | 40 | #endif /* CONFIG_NUMA_EMU */ |
05b3cbd8 | 41 | #else |
23ca4bba | 42 | static inline void init_cpu_to_node(void) { } |
bbc9e2f4 | 43 | static inline int numa_cpu_node(int cpu) { return NUMA_NO_NODE; } |
23ca4bba MT |
44 | static inline void numa_add_cpu(int cpu, int node) { } |
45 | static inline void numa_remove_cpu(int cpu) { } | |
05b3cbd8 | 46 | #endif |
0b07e984 | 47 | |
1965aae3 | 48 | #endif /* _ASM_X86_NUMA_64_H */ |