linux/arch/x86/xen
Roger Pau Monne f1e28d46a0 x86/xen: disable CPU idle and frequency drivers for PVH dom0
[ Upstream commit 64a66e2c3b ]

When running as a PVH dom0 the ACPI tables exposed to Linux are (mostly)
the native ones, thus exposing the C and P states, that can lead to
attachment of CPU idle and frequency drivers.  However the entity in
control of the CPU C and P states is Xen, as dom0 doesn't have a full view
of the system load, neither has all CPUs assigned and identity pinned.

Like it's done for classic PV guests, prevent Linux from using idle or
frequency state drivers when running as a PVH dom0.

On an AMD EPYC 7543P system without this fix a Linux PVH dom0 will keep the
host CPUs spinning at 100% even when dom0 is completely idle, as it's
attempting to use the acpi_idle driver.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
Message-ID: <20250407101842.67228-1-roger.pau@citrix.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-05-02 07:59:23 +02:00
..
apic.c x86/xen: eliminate some private header files 2024-07-11 16:33:48 +02:00
debugfs.c x86/xen: eliminate some private header files 2024-07-11 16:33:48 +02:00
efi.c xen/efi: refactor deprecated strncpy 2023-09-19 07:04:49 +02:00
enlighten.c x86/xen: fix balloon target initialization for PVH dom0 2025-04-20 10:15:50 +02:00
enlighten_hvm.c x86/xen: remove hypercall page 2024-12-19 18:13:24 +01:00
enlighten_pv.c x86/xen: add central hypercall functions 2024-12-19 18:13:23 +01:00
enlighten_pvh.c x86/xen: disable CPU idle and frequency drivers for PVH dom0 2025-05-02 07:59:23 +02:00
grant-table.c x86/xen: open code alloc_vm_area in arch_gnttab_valloc 2020-10-18 09:27:10 -07:00
irq.c x86/paravirt: Move some functions and defines to alternative.c 2023-12-10 20:30:31 +01:00
Kconfig treewide: replace or remove redundant def_bool in Kconfig files 2024-02-20 20:47:45 +09:00
Makefile x86/PVH: obtain VGA console info in Dom0 2023-03-14 15:20:51 +01:00
mmu.c x86/xen: eliminate some private header files 2024-07-11 16:33:48 +02:00
mmu_hvm.c x86/xen: eliminate some private header files 2024-07-11 16:33:48 +02:00
mmu_pv.c Grab mm lock before grabbing pt lock 2025-02-21 14:01:26 +01:00
multicalls.c xen: fix multicall debug feature 2025-04-25 10:47:41 +02:00
p2m.c xen: allow mapping ACPI data using a different physical address 2024-09-12 08:25:07 +02:00
platform-pci-unplug.c x86: xen: platform-pci-unplug: use pr_err() and pr_warn() instead of raw printk() 2021-08-30 12:09:54 +02:00
pmu.c x86/xen: eliminate some private header files 2024-07-11 16:33:48 +02:00
setup.c x86/xen: fix balloon target initialization for PVH dom0 2025-04-20 10:15:50 +02:00
smp.c x86/xen: eliminate some private header files 2024-07-11 16:33:48 +02:00
smp_hvm.c x86/xen: eliminate some private header files 2024-07-11 16:33:48 +02:00
smp_pv.c xen: fix multicall debug feature 2025-04-25 10:47:41 +02:00
spinlock.c x86/xen: remove deprecated xen_nopvspin boot parameter 2024-07-11 16:33:51 +02:00
suspend.c x86/xen: eliminate some private header files 2024-07-11 16:33:48 +02:00
suspend_hvm.c x86/xen: Add support for HVMOP_set_evtchn_upcall_vector 2022-08-12 11:28:21 +02:00
suspend_pv.c locking/seqlock, headers: Untangle the spaghetti monster 2020-08-06 16:13:13 +02:00
time.c x86/xen/time: Reduce Xen timer tick 2024-07-02 09:35:52 +02:00
trace.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
vga.c x86: Do not include <asm/bootparam.h> in several files 2024-01-30 15:17:24 +01:00
xen-asm.S x86/xen: add central hypercall functions 2024-12-19 18:13:23 +01:00
xen-head.S x86/xen: add FRAME_END to xen_hypercall_hvm() 2025-02-17 10:05:01 +01:00
xen-ops.h xen: fix multicall debug feature 2025-04-25 10:47:41 +02:00