topology_64.h
来自「linux 内核源代码」· C头文件 代码 · 共 72 行
H
72 行
#ifndef _ASM_X86_64_TOPOLOGY_H#define _ASM_X86_64_TOPOLOGY_H#ifdef CONFIG_NUMA#include <asm/mpspec.h>#include <linux/bitops.h>extern cpumask_t cpu_online_map;extern unsigned char cpu_to_node[];extern cpumask_t node_to_cpumask[];#ifdef CONFIG_ACPI_NUMAextern int __node_distance(int, int);#define node_distance(a,b) __node_distance(a,b)/* #else fallback version */#endif#define cpu_to_node(cpu) (cpu_to_node[cpu])#define parent_node(node) (node)#define node_to_first_cpu(node) (first_cpu(node_to_cpumask[node]))#define node_to_cpumask(node) (node_to_cpumask[node])#define pcibus_to_node(bus) ((struct pci_sysdata *)((bus)->sysdata))->node#define pcibus_to_cpumask(bus) node_to_cpumask(pcibus_to_node(bus));#define numa_node_id() read_pda(nodenumber)/* sched_domains SD_NODE_INIT for x86_64 machines */#define SD_NODE_INIT (struct sched_domain) { \ .span = CPU_MASK_NONE, \ .parent = NULL, \ .child = NULL, \ .groups = NULL, \ .min_interval = 8, \ .max_interval = 32, \ .busy_factor = 32, \ .imbalance_pct = 125, \ .cache_nice_tries = 2, \ .busy_idx = 3, \ .idle_idx = 2, \ .newidle_idx = 0, \ .wake_idx = 1, \ .forkexec_idx = 1, \ .flags = SD_LOAD_BALANCE \ | SD_BALANCE_FORK \ | SD_BALANCE_EXEC \ | SD_SERIALIZE \ | SD_WAKE_BALANCE, \ .last_balance = jiffies, \ .balance_interval = 1, \ .nr_balance_failed = 0, \}#endif#ifdef CONFIG_SMP#define topology_physical_package_id(cpu) (cpu_data(cpu).phys_proc_id)#define topology_core_id(cpu) (cpu_data(cpu).cpu_core_id)#define topology_core_siblings(cpu) (per_cpu(cpu_core_map, cpu))#define topology_thread_siblings(cpu) (per_cpu(cpu_sibling_map, cpu))#define mc_capable() (boot_cpu_data.x86_max_cores > 1)#define smt_capable() (smp_num_siblings > 1)#endif#include <asm-generic/topology.h>extern cpumask_t cpu_coregroup_map(int cpu);#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?