opnsense-src/sys/amd64
Mark Johnston 55e020a6f9 amd64: Reduce the amount of cpuset copying done for TLB shootdowns
We use pmap_invalidate_cpu_mask() to get the set of active CPUs.  This
(32-byte) set is copied by value through multiple frames until we get to
smp_targeted_tlb_shootdown(), where it is copied yet again.

Avoid this copying by having smp_targeted_tlb_shootdown() make a local
copy of the active CPUs for the pmap, and drop the cpuset parameter,
simplifying callers.  Also leverage the use of the non-destructive
CPU_FOREACH_ISSET to avoid unneeded copying within
smp_targeted_tlb_shootdown().

Reviewed by:	alc, kib
Tested by:	pho
Sponsored by:	The FreeBSD Foundation

(cherry picked from commit ab12e8db29)
2021-12-15 08:31:48 -05:00
..
acpica amd64 wakeup: rework trampoline page allocation 2021-09-20 03:47:21 +03:00
amd64 amd64: Reduce the amount of cpuset copying done for TLB shootdowns 2021-12-15 08:31:48 -05:00
cloudabi32 Get rid of sa->narg. It serves no purpose; use sa->callp->sy_narg instead. 2020-09-27 18:47:06 +00:00
cloudabi64 Get rid of sa->narg. It serves no purpose; use sa->callp->sy_narg instead. 2020-09-27 18:47:06 +00:00
conf amd64: Add MD bits for KASAN 2021-11-01 10:02:41 -04:00
ia32 amd64/ia32/ia32_signal.c: Use ANSI C functions definitions 2021-11-16 02:45:30 +02:00
include amd64: Reduce the amount of cpuset copying done for TLB shootdowns 2021-12-15 08:31:48 -05:00
linux amd64: consistently use uprintf() to report weird situations in sigreturn 2021-10-10 12:21:17 +03:00
linux32 amd64: centralize definitions of CS_SECURE and EFL_SECURE 2021-10-10 12:21:17 +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-11-03 09:15:18 -04:00
Makefile Bring the tags and links entries for amd64 up to date. 2021-10-07 16:01:46 -07:00