1 /* 2 * include/linux/arch_topology.h - arch specific cpu topology information 3 */ 4 #ifndef _LINUX_ARCH_TOPOLOGY_H_ 5 #define _LINUX_ARCH_TOPOLOGY_H_ 6 7 #include <linux/types.h> 8 #include <linux/percpu.h> 9 10 void topology_normalize_cpu_scale(void); 11 12 struct device_node; 13 bool topology_parse_cpu_capacity(struct device_node *cpu_node, int cpu); 14 15 DECLARE_PER_CPU(unsigned long, cpu_scale); 16 17 struct sched_domain; 18 static inline 19 unsigned long topology_get_cpu_scale(struct sched_domain *sd, int cpu) 20 { 21 return per_cpu(cpu_scale, cpu); 22 } 23 24 void topology_set_cpu_scale(unsigned int cpu, unsigned long capacity); 25 26 DECLARE_PER_CPU(unsigned long, freq_scale); 27 28 static inline 29 unsigned long topology_get_freq_scale(struct sched_domain *sd, int cpu) 30 { 31 return per_cpu(freq_scale, cpu); 32 } 33 34 #endif /* _LINUX_ARCH_TOPOLOGY_H_ */ 35