freebsd-skq/sys/amd64
Konstantin Belousov 83c001d3c2 Re-apply r306516 (by cem):
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)
Sponsored by:	Dell EMC Isilon
Differential Revision:	https://reviews.freebsd.org/D8041
2016-10-04 17:01:24 +00:00
..
acpica sys/amd64: Small spelling fixes. 2016-05-03 22:13:04 +00:00
amd64 Re-apply r306516 (by cem): 2016-10-04 17:01:24 +00:00
cloudabi32 Make execution of 32-bit CloudABI executables work on amd64. 2016-08-24 10:51:33 +00:00
cloudabi64 Convert pointers obtained from the threadattr_t structure with TO_PTR(). 2016-08-24 10:13:18 +00:00
conf Move the ConnectX-3 and ConnectX-2 driver from sys/ofed into sys/dev/mlx4 2016-09-30 08:23:06 +00:00
ia32 Convert ss_sp in stack_t and sigstack to void *. 2016-01-27 17:55:01 +00:00
include Re-apply r306516 (by cem): 2016-10-04 17:01:24 +00:00
linux Regenerate syscall provider argument strings. 2016-09-22 04:50:03 +00:00
linux32 Regenerate syscall provider argument strings. 2016-09-22 04:50:03 +00:00
pci Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
vmm Reset PCI pass through devices via PCI-e FLR during VM start and end. 2016-09-06 21:15:35 +00:00
Makefile Bring the tags and links entries for amd64 up to date. 2015-10-27 22:59:24 +00:00