]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blame - include/linux/arch_topology.h
timekeeping: Repair ktime_get_coarse*() granularity
[mirror_ubuntu-jammy-kernel.git] / include / linux / arch_topology.h
CommitLineData
b2441318 1/* SPDX-License-Identifier: GPL-2.0 */
615ffd63
JL
2/*
3 * include/linux/arch_topology.h - arch specific cpu topology information
4 */
5#ifndef _LINUX_ARCH_TOPOLOGY_H_
6#define _LINUX_ARCH_TOPOLOGY_H_
7
805df296 8#include <linux/types.h>
0e27c567 9#include <linux/percpu.h>
805df296 10
4ca4f26a 11void topology_normalize_cpu_scale(void);
bb1fbdd3 12int topology_update_cpu_topology(void);
615ffd63
JL
13
14struct device_node;
805df296 15bool topology_parse_cpu_capacity(struct device_node *cpu_node, int cpu);
615ffd63 16
8216f588
DE
17DECLARE_PER_CPU(unsigned long, cpu_scale);
18
615ffd63 19struct sched_domain;
8216f588
DE
20static inline
21unsigned long topology_get_cpu_scale(struct sched_domain *sd, int cpu)
22{
23 return per_cpu(cpu_scale, cpu);
24}
615ffd63 25
4ca4f26a 26void topology_set_cpu_scale(unsigned int cpu, unsigned long capacity);
615ffd63 27
0e27c567
DE
28DECLARE_PER_CPU(unsigned long, freq_scale);
29
30static inline
7673c8a4 31unsigned long topology_get_freq_scale(int cpu)
0e27c567
DE
32{
33 return per_cpu(freq_scale, cpu);
34}
35
615ffd63 36#endif /* _LINUX_ARCH_TOPOLOGY_H_ */