[PATCH v2 0/1] Disable FIE on machines with slow counters

Jeremy Linton
2022-07-28T22:11:40Z

FIE assumes the delivered/relative perf registers are fast to read so
it goes ahead and hits them quite frequently. On a couple Arm
platforms though they end up in PCC regions which require mailbox
handshaking with other parts of the platform.

This results in a lot of overhead in the cppc_fie task. As such lets
runtime disable FIE if we detect it enabled on one of those platforms.
Also allow the user to manually disable it via a module parameter.

v1->v2:
Apply Rafael's review comments.
Move the MODULE_PARAM into the ifdef
Fix compiler warning when ACPI_CPPC_LIB is disabled.

Jeremy Linton (1):
ACPI: CPPC: Disable FIE if registers in PCC regions

drivers/acpi/cppc_acpi.c | 41 ++++++++++++++++++++++++++++++++++
drivers/cpufreq/cppc_cpufreq.c | 19 ++++++++++++----
include/acpi/cppc_acpi.h | 5 +++++
3 files changed, 61 insertions(+), 4 deletions(-)

--
2.35.3