diff options
author | Igor Mammedov <imammedo@redhat.com> | 2025-08-14 18:05:54 +0200 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2025-08-29 12:48:14 +0200 |
commit | 4ae5e2b2bf65452538511a2895d7a4e2115058a5 (patch) | |
tree | 78a8b7e87571b8108fecdad367af31b4b281204e | |
parent | 73c520b088878682e2d3b7fa19a6366ec8d39829 (diff) | |
download | qemu-4ae5e2b2bf65452538511a2895d7a4e2115058a5.zip qemu-4ae5e2b2bf65452538511a2895d7a4e2115058a5.tar.gz qemu-4ae5e2b2bf65452538511a2895d7a4e2115058a5.tar.bz2 |
acpi: mark PMTIMER as unlocked
Reading QEMU_CLOCK_VIRTUAL is thread-safe, write access is NOP.
This makes possible to boot Windows with large vCPUs count when
hv-time is not used.
Reproducer:
-M q35,hpet=off -cpu host -enable-kvm -smp 240,sockets=4 -m 8G WS2025.img
fails to boot within 30min.
With this fix it boots within 2-1min.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Link: https://lore.kernel.org/r/20250814160600.2327672-3-imammedo@redhat.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r-- | hw/acpi/core.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/acpi/core.c b/hw/acpi/core.c index 58f8964..ff16582 100644 --- a/hw/acpi/core.c +++ b/hw/acpi/core.c @@ -547,6 +547,7 @@ void acpi_pm_tmr_init(ACPIREGS *ar, acpi_update_sci_fn update_sci, ar->tmr.timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, acpi_pm_tmr_timer, ar); memory_region_init_io(&ar->tmr.io, memory_region_owner(parent), &acpi_pm_tmr_ops, ar, "acpi-tmr", 4); + memory_region_enable_lockless_io(&ar->tmr.io); memory_region_add_subregion(parent, 8, &ar->tmr.io); } |