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 v4.10 64 lines 1.5 kB view raw
1#ifndef _ASM_SPARC64_TOPOLOGY_H 2#define _ASM_SPARC64_TOPOLOGY_H 3 4#ifdef CONFIG_NUMA 5 6#include <asm/mmzone.h> 7#include <asm/cpudata.h> 8 9static inline int cpu_to_node(int cpu) 10{ 11 return numa_cpu_lookup_table[cpu]; 12} 13 14#define parent_node(node) (node) 15 16#define cpumask_of_node(node) ((node) == -1 ? \ 17 cpu_all_mask : \ 18 &numa_cpumask_lookup_table[node]) 19 20struct pci_bus; 21#ifdef CONFIG_PCI 22int pcibus_to_node(struct pci_bus *pbus); 23#else 24static inline int pcibus_to_node(struct pci_bus *pbus) 25{ 26 return -1; 27} 28#endif 29 30#define cpumask_of_pcibus(bus) \ 31 (pcibus_to_node(bus) == -1 ? \ 32 cpu_all_mask : \ 33 cpumask_of_node(pcibus_to_node(bus))) 34 35int __node_distance(int, int); 36#define node_distance(a, b) __node_distance(a, b) 37 38#else /* CONFIG_NUMA */ 39 40#include <asm-generic/topology.h> 41 42#endif /* !(CONFIG_NUMA) */ 43 44#ifdef CONFIG_SMP 45#define topology_physical_package_id(cpu) (cpu_data(cpu).proc_id) 46#define topology_core_id(cpu) (cpu_data(cpu).core_id) 47#define topology_core_cpumask(cpu) (&cpu_core_sib_map[cpu]) 48#define topology_core_cache_cpumask(cpu) (&cpu_core_sib_cache_map[cpu]) 49#define topology_sibling_cpumask(cpu) (&per_cpu(cpu_sibling_map, cpu)) 50#endif /* CONFIG_SMP */ 51 52extern cpumask_t cpu_core_map[NR_CPUS]; 53extern cpumask_t cpu_core_sib_map[NR_CPUS]; 54extern cpumask_t cpu_core_sib_cache_map[NR_CPUS]; 55 56/** 57 * Return cores that shares the last level cache. 58 */ 59static inline const struct cpumask *cpu_coregroup_mask(int cpu) 60{ 61 return &cpu_core_sib_cache_map[cpu]; 62} 63 64#endif /* _ASM_SPARC64_TOPOLOGY_H */