freebsd-skq/sys/x86/include
Conrad Meyer 2965d505f6 Reduce the cost of TLB invalidation on x86 by using per-CPU completion flags
Reduce contention during TLB invalidation operations by using a per-CPU
completion flag, rather than a single atomically-updated variable.

On a Westmere system (2 sockets x 4 cores x 1 threads), dtrace measurements
show that smp_tlb_shootdown is about 50% faster with this patch; observations
with VTune show that the percentage of time spent in invlrng_single_page on an
interrupt (actually doing invalidation, rather than synchronization) increases
from 31% with the old mechanism to 71% with the new one.  (Running a basic file
server workload.)

Submitted by:	Anton Rang <rang at acm.org>
Reviewed by:	cem (earlier version), kib
Sponsored by:	Dell EMC Isilon
Differential Revision:	https://reviews.freebsd.org/D8041
2016-09-30 18:12:16 +00:00
..
xen xen: Code cleanup and small bug fixes 2015-10-21 10:44:07 +00:00
_align.h Implement _ALIGN() using internal integer types. 2016-05-31 13:31:19 +00:00
_inttypes.h
_limits.h
_stdint.h Add missing dependency on <machine/_limits.h>. 2016-05-31 08:38:24 +00:00
_types.h Add missing dependency on <machine/_limits.h>. 2016-05-31 08:36:39 +00:00
acpica_machdep.h
apicreg.h Add defines for the LAPIC TSC deadline timer mode. The LVT timer mode 2016-03-28 09:43:40 +00:00
apicvar.h Detect x2APIC mode on boot and obey it. 2016-09-19 15:58:45 +00:00
apm_bios.h
bus.h Better support memory mapped console devices, such as VGA and EFI 2015-08-12 15:26:32 +00:00
busdma_impl.h
cputypes.h Remove 'cpu' and 'cpu_class' on amd64. 2016-09-15 17:05:54 +00:00
dump.h
elf.h
endian.h
fdt.h
float.h Rationalize BSD license on sys/*/include/float.h 2015-08-05 17:05:35 +00:00
fpu.h
frame.h Fix decoding of tf_rsp on amd64, and move TF_HAS_STACKREGS() to the 2016-09-16 07:09:35 +00:00
init.h
legacyvar.h Convert rman to use rman_res_t instead of u_long 2016-01-27 02:23:54 +00:00
mca.h
metadata.h Move amd64 metadata.h to x86 and share with i386 2016-01-07 19:47:26 +00:00
mptable.h
ofw_machdep.h Add missing ofw_machdep.h. Make x86 ofw_machdep.h work pc98 too. 2015-08-28 15:41:09 +00:00
pci_cfgreg.h Convert rman to use rman_res_t instead of u_long 2016-01-27 02:23:54 +00:00
psl.h
ptrace.h
pvclock.h
reg.h
segments.h
setjmp.h
sigframe.h
signal.h
specialreg.h Add x86 CPU features definitions published in the Intel SDM rev. 58. 2016-04-16 06:07:13 +00:00
stack.h Add stack_save_td_running(), a function to trace the kernel stack of a 2015-09-11 03:54:37 +00:00
stdarg.h
sysarch.h
trap.h
ucontext.h POSIX states that #include <signal.h> shall make both mcontext_t and 2016-02-12 07:38:19 +00:00
vdso.h Implement userspace gettimeofday(2) with HPET timecounter. 2016-08-17 09:52:09 +00:00
vmware.h
x86_smp.h Reduce the cost of TLB invalidation on x86 by using per-CPU completion flags 2016-09-30 18:12:16 +00:00
x86_var.h Remove 'cpu' and 'cpu_class' on amd64. 2016-09-15 17:05:54 +00:00