Skip to content

Commit 9c2071b

Browse files
committed
Merge: cpufreq: use acpi_cpufreq on x86 processors instead of cppc_cpufreq
MR: https://gitlab.com/redhat/rhel/src/kernel/rhel-9/-/merge_requests/4462 JIRA: https://issues.redhat.com/browse/RHEL-112816 Resolves: 112816 AMD processors are experiencing slow performance on -604 and later kernels because a configuration change caused acpi_cppc_cpufreq to be compiled on x86 builds. acpi_cppc_cpufreq was being used preferentially over acpi_cpufreq. acpi_cppc_cpufreq does not support boost, so the faster boost P-states were not available. Adjust the configuration files so that acpi_cppc_cpufreq isn't build on x86 builds, which matches upstream behavior. Signed-off-by: Mark Langsdorf <mlangsdo@redhat.com> Approved-by: David Arcari <darcari@redhat.com> Approved-by: Lenny Szubowicz <lszubowi@redhat.com> Approved-by: CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com> Merged-by: Augusto Caringi <acaringi@redhat.com>
2 parents fcb0846 + 47f87e3 commit 9c2071b

File tree

2 files changed

+29
-26
lines changed

2 files changed

+29
-26
lines changed

drivers/cpufreq/Kconfig

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -333,5 +333,34 @@ config QORIQ_CPUFREQ
333333
This adds the CPUFreq driver support for Freescale QorIQ SoCs
334334
which are capable of changing the CPU's frequency dynamically.
335335

336+
config ACPI_CPPC_CPUFREQ
337+
tristate "CPUFreq driver based on the ACPI CPPC spec"
338+
depends on ACPI_PROCESSOR
339+
depends on ARM || ARM64 || RISCV
340+
select ACPI_CPPC_LIB
341+
help
342+
This adds a CPUFreq driver which uses CPPC methods
343+
as described in the ACPIv5.1 spec. CPPC stands for
344+
Collaborative Processor Performance Controls. It
345+
is based on an abstract continuous scale of CPU
346+
performance values which allows the remote power
347+
processor to flexibly optimize for power and
348+
performance. CPPC relies on power management firmware
349+
support for its operation.
350+
351+
If in doubt, say N.
352+
353+
config ACPI_CPPC_CPUFREQ_FIE
354+
bool "Frequency Invariance support for CPPC cpufreq driver"
355+
depends on ACPI_CPPC_CPUFREQ && GENERIC_ARCH_TOPOLOGY
356+
depends on ARM || ARM64 || RISCV
357+
default y
358+
help
359+
This extends frequency invariance support in the CPPC cpufreq driver,
360+
by using CPPC delivered and reference performance counters.
361+
362+
If in doubt, say N.
363+
336364
endif
365+
337366
endmenu

drivers/cpufreq/Kconfig.arm

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -3,32 +3,6 @@
33
# ARM CPU Frequency scaling drivers
44
#
55

6-
config ACPI_CPPC_CPUFREQ
7-
tristate "CPUFreq driver based on the ACPI CPPC spec"
8-
depends on ACPI_PROCESSOR
9-
select ACPI_CPPC_LIB
10-
help
11-
This adds a CPUFreq driver which uses CPPC methods
12-
as described in the ACPIv5.1 spec. CPPC stands for
13-
Collaborative Processor Performance Controls. It
14-
is based on an abstract continuous scale of CPU
15-
performance values which allows the remote power
16-
processor to flexibly optimize for power and
17-
performance. CPPC relies on power management firmware
18-
support for its operation.
19-
20-
If in doubt, say N.
21-
22-
config ACPI_CPPC_CPUFREQ_FIE
23-
bool "Frequency Invariance support for CPPC cpufreq driver"
24-
depends on ACPI_CPPC_CPUFREQ && GENERIC_ARCH_TOPOLOGY
25-
default y
26-
help
27-
This extends frequency invariance support in the CPPC cpufreq driver,
28-
by using CPPC delivered and reference performance counters.
29-
30-
If in doubt, say N.
31-
326
config ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM
337
tristate "Allwinner nvmem based SUN50I CPUFreq driver"
348
depends on ARCH_SUNXI

0 commit comments

Comments
 (0)