freebsd-dev/sys/x86
Konstantin Belousov 998e1ef11f Calibrate the frequency of the of the native_lapic_ipi_wait() loop,
and avoid a delay while waiting for IPI delivery acknowledgement in
xAPIC mode.  This makes the loop exit immediately after the delivery
bit in APIC_ICR register is set, instead of waiting for some
microseconds.

We only need to ensure that some amount of time is allowed for the
LAPIC to react to the command, and we need that the wait time is
finite and reasonable.  For that reasons, it is irrelevant if the CPU
frequency or throttling decrease the speed and make the loop,
calibrated for full CPU speed at boot time, execute somewhat slower.

Discussed with:	bde, jhb
Tested by:	pho
Sponsored by:	The FreeBSD Foundation
2016-03-29 08:44:56 +00:00
..
acpica As <machine/pmap.h> is included from <vm/pmap.h>, there is no need to 2016-02-22 09:02:20 +00:00
bios
cpufreq
include Add defines for the LAPIC TSC deadline timer mode. The LVT timer mode 2016-03-28 09:43:40 +00:00
iommu Remove taskqueue_enqueue_fast(). 2016-03-01 17:47:32 +00:00
isa Silence PVS-Studio warning (V595). It can never be NULL here. 2016-02-23 23:57:24 +00:00
pci Convert rman to use rman_res_t instead of u_long 2016-01-27 02:23:54 +00:00
x86 Calibrate the frequency of the of the native_lapic_ipi_wait() loop, 2016-03-29 08:44:56 +00:00
xen Replace all resource occurrences of '0UL/~0UL' with '0/~0'. 2016-03-03 05:07:35 +00:00