summaryrefslogtreecommitdiff
path: root/include/linux/arch_topology.h
diff options
context:
space:
mode:
authorDavid Dai <davidai@google.com>2024-09-19 03:08:33 +0300
committerViresh Kumar <viresh.kumar@linaro.org>2024-10-29 09:35:14 +0300
commit4fd06a5358e0d888d1bf23d274971ea7d1f45aad (patch)
tree014938156f36840f3aa89efd9b5825507af39329 /include/linux/arch_topology.h
parent984638e4430b75bd38dba723e42aad4c748fed70 (diff)
downloadlinux-4fd06a5358e0d888d1bf23d274971ea7d1f45aad.tar.xz
cpufreq: add virtual-cpufreq driver
Introduce a virtualized cpufreq driver for guest kernels to improve performance and power of workloads within VMs. This driver does two main things: 1. Sends the frequency of vCPUs as a hint to the host. The host uses the hint to schedule the vCPU threads and decide physical CPU frequency. 2. If a VM does not support a virtualized FIE(like AMUs), it queries the host CPU frequency by reading a MMIO region of a virtual cpufreq device to update the guest's frequency scaling factor periodically. This enables accurate Per-Entity Load Tracking for tasks running in the guest. Co-developed-by: Saravana Kannan <saravanak@google.com> Signed-off-by: Saravana Kannan <saravanak@google.com> Signed-off-by: David Dai <davidai@google.com> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Diffstat (limited to 'include/linux/arch_topology.h')
-rw-r--r--include/linux/arch_topology.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/arch_topology.h b/include/linux/arch_topology.h
index b721f360d759..d5d848849408 100644
--- a/include/linux/arch_topology.h
+++ b/include/linux/arch_topology.h
@@ -49,6 +49,7 @@ enum scale_freq_source {
SCALE_FREQ_SOURCE_CPUFREQ = 0,
SCALE_FREQ_SOURCE_ARCH,
SCALE_FREQ_SOURCE_CPPC,
+ SCALE_FREQ_SOURCE_VIRT,
};
struct scale_freq_data {