freebsd-dev/sys/amd64
Mark Johnston 4c812fe61b vlapic: Schedule callouts on the local CPU
The virtual LAPIC driver uses callouts to implement the LAPIC timer.
Callouts are armed using callout_reset_sbt(), which currently puts
everything on CPU 0.  On systems running many bhyve VMs this results in
a large amount of contention for CPU 0's callout lock.

Modify vlapic to schedule callouts on the local CPU instead.  This
allows timer interrupts to be scheduled more evenly among CPUs where
bhyve is running.

Reviewed by:	grehan, jhb
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D32559
2021-10-19 21:22:57 -04:00
..
acpica amd64 wakeup: rework trampoline page allocation 2021-09-14 00:23:15 +03:00
amd64 amd64: Add comments to pmap_pinit_type() 2021-10-19 21:22:57 -04:00
conf Enable PPS_SYNC on amd64, arm64 and armv7 2021-10-10 22:34:40 +03:00
ia32 amd64 sendsig: fix context corruption 2021-09-27 20:12:46 +03:00
include amd64: add pmap_page_set_memattr_noflush() 2021-10-06 05:53:12 +03:00
linux linux: Improve debugging for PTRACE_GETREGSET 2021-10-17 12:53:16 +01:00
linux32 amd64: centralize definitions of CS_SECURE and EFL_SECURE 2021-09-21 20:20:14 +03:00
pci pci_cfgreg.c: Use io port config access for early boot time. 2019-04-09 18:07:17 +00:00
sgx Convert remaining cap_rights_init users to cap_rights_init_one 2021-01-12 13:16:10 +00:00
vmm vlapic: Schedule callouts on the local CPU 2021-10-19 21:22:57 -04:00
Makefile Bring the tags and links entries for amd64 up to date. 2021-09-27 20:04:51 -07:00