freebsd-dev/sys/amd64
Mateusz Guzik 099c6f6d45 amd64: finish the tail in memset with an overlapping store
Instead of finding the exact size to fit in we can just shift the target
by -8 + tail. Doing a blind write to a previously rep stosq'ed area comes
with a penalty so do it conditionally.

Sample win on EPYC when zeroing a 257 sized buffer (tail = 1) aligned to
16 bytes:
before: 44782846 ops/s
after:  46118614 ops/s

Idea stolen from NetBSD.

Sponsored by:	The FreeBSD Foundation
2018-10-22 06:44:20 +00:00
..
acpica Rename assym.s to assym.inc 2018-03-20 17:58:51 +00:00
amd64 amd64: finish the tail in memset with an overlapping store 2018-10-22 06:44:20 +00:00
cloudabi32 Use TO_PTR() to convert integers to pointers. 2017-11-26 14:45:56 +00:00
cloudabi64 Use TO_PTR() to convert integers to pointers. 2017-11-26 14:45:56 +00:00
conf Remove the ncr(4) drive. 2018-10-22 02:36:18 +00:00
ia32 amd64: flush L1 data cache on syscall return with an error. 2018-10-20 23:17:24 +00:00
include amd64: flush L1 data cache on syscall return with an error. 2018-10-20 23:17:24 +00:00
linux Regenerated assorted syscall related files after: 2018-10-09 20:42:17 +00:00
linux32 Regenerated assorted syscall related files after: 2018-10-09 20:42:17 +00:00
pci Do not flush cache for PCIe config window. 2018-10-18 20:49:16 +00:00
sgx Rename assym.s to assym.inc 2018-03-20 17:58:51 +00:00
vmm Reload the LDT selector after an AMD-v #VMEXIT. 2018-10-15 18:12:25 +00:00
Makefile Bring the tags and links entries for amd64 up to date. 2015-10-27 22:59:24 +00:00