]> www.infradead.org Git - users/jedix/linux-maple.git/commit
cpufreq: add virtual-cpufreq driver
authorDavid Dai <davidai@google.com>
Thu, 19 Sep 2024 00:08:33 +0000 (17:08 -0700)
committerViresh Kumar <viresh.kumar@linaro.org>
Tue, 29 Oct 2024 06:35:14 +0000 (12:05 +0530)
commit4fd06a5358e0d888d1bf23d274971ea7d1f45aad
tree014938156f36840f3aa89efd9b5825507af39329
parent984638e4430b75bd38dba723e42aad4c748fed70
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>
drivers/cpufreq/Kconfig
drivers/cpufreq/Makefile
drivers/cpufreq/virtual-cpufreq.c [new file with mode: 0644]
include/linux/arch_topology.h