Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v3.9-rc3 101 lines 2.4 kB view raw
1#ifndef _ASM_POWERPC_TOPOLOGY_H 2#define _ASM_POWERPC_TOPOLOGY_H 3#ifdef __KERNEL__ 4 5 6struct device; 7struct device_node; 8 9#ifdef CONFIG_NUMA 10 11/* 12 * Before going off node we want the VM to try and reclaim from the local 13 * node. It does this if the remote distance is larger than RECLAIM_DISTANCE. 14 * With the default REMOTE_DISTANCE of 20 and the default RECLAIM_DISTANCE of 15 * 20, we never reclaim and go off node straight away. 16 * 17 * To fix this we choose a smaller value of RECLAIM_DISTANCE. 18 */ 19#define RECLAIM_DISTANCE 10 20 21#include <asm/mmzone.h> 22 23static inline int cpu_to_node(int cpu) 24{ 25 return numa_cpu_lookup_table[cpu]; 26} 27 28#define parent_node(node) (node) 29 30#define cpumask_of_node(node) ((node) == -1 ? \ 31 cpu_all_mask : \ 32 node_to_cpumask_map[node]) 33 34struct pci_bus; 35#ifdef CONFIG_PCI 36extern int pcibus_to_node(struct pci_bus *bus); 37#else 38static inline int pcibus_to_node(struct pci_bus *bus) 39{ 40 return -1; 41} 42#endif 43 44#define cpumask_of_pcibus(bus) (pcibus_to_node(bus) == -1 ? \ 45 cpu_all_mask : \ 46 cpumask_of_node(pcibus_to_node(bus))) 47 48extern int __node_distance(int, int); 49#define node_distance(a, b) __node_distance(a, b) 50 51extern void __init dump_numa_cpu_topology(void); 52 53extern int sysfs_add_device_to_node(struct device *dev, int nid); 54extern void sysfs_remove_device_from_node(struct device *dev, int nid); 55 56#else 57 58static inline void dump_numa_cpu_topology(void) {} 59 60static inline int sysfs_add_device_to_node(struct device *dev, int nid) 61{ 62 return 0; 63} 64 65static inline void sysfs_remove_device_from_node(struct device *dev, 66 int nid) 67{ 68} 69#endif /* CONFIG_NUMA */ 70 71#if defined(CONFIG_NUMA) && defined(CONFIG_PPC_SPLPAR) 72extern int start_topology_update(void); 73extern int stop_topology_update(void); 74#else 75static inline int start_topology_update(void) 76{ 77 return 0; 78} 79static inline int stop_topology_update(void) 80{ 81 return 0; 82} 83#endif /* CONFIG_NUMA && CONFIG_PPC_SPLPAR */ 84 85#include <asm-generic/topology.h> 86 87#ifdef CONFIG_SMP 88#include <asm/cputable.h> 89#define smt_capable() (cpu_has_feature(CPU_FTR_SMT)) 90 91#ifdef CONFIG_PPC64 92#include <asm/smp.h> 93 94#define topology_thread_cpumask(cpu) (per_cpu(cpu_sibling_map, cpu)) 95#define topology_core_cpumask(cpu) (per_cpu(cpu_core_map, cpu)) 96#define topology_core_id(cpu) (cpu_to_core_id(cpu)) 97#endif 98#endif 99 100#endif /* __KERNEL__ */ 101#endif /* _ASM_POWERPC_TOPOLOGY_H */