freebsd-dev/sys
Mateusz Guzik a8e3f99ec1 amd64: implement memcmp in assembly
Both the in-kernel C variant and libc asm variant have very poor performance.
The former compiles to a single byte comparison loop, which breaks down even
for small sizes. The latter uses rep cmpsq/b which turn out to have very poor
throughput and are slower than a hand-coded 32-byte comparison loop.

Depending on size this is about 3-4 times faster than the current routines.

Reviewed by:	kib
Approved by:	re (gjb)
Differential Revision:	https://reviews.freebsd.org/D17328
2018-09-27 14:05:44 +00:00
..
amd64 amd64: implement memcmp in assembly 2018-09-27 14:05:44 +00:00
arm Enable Capsicum on armv6/armv7 2018-09-13 21:00:17 +00:00
arm64 Export ID_AA64PFR0_EL1 to userland 2018-09-27 13:54:09 +00:00
bsm
cam Make the wait in cfiscsi_offline() interruptible. This is the second half 2018-09-11 11:39:59 +00:00
cddl zfs: depessimize zfs_root with rmlocks 2018-09-25 17:58:06 +00:00
compat x86bios: use M_NOWAIT with mallocs 2018-09-13 07:04:00 +00:00
conf amd64: implement memcmp in assembly 2018-09-27 14:05:44 +00:00
contrib Add proper support for VIMAGE to krping. 2018-09-06 14:03:11 +00:00
crypto Reapply, with minor tweaks, r338025, from the original commit: 2018-09-26 17:12:14 +00:00
ddb add an option for ddb ps command to print process arguments 2018-08-09 11:21:31 +00:00
dev cxgbe(4): Enable support for per-connection rate limiting in the default 2018-09-26 21:16:07 +00:00
dts arm64: Add DTS overlays for A64 2018-08-24 15:00:36 +00:00
fs Remove the Yarrow PRNG algorithm option in accordance with due notice 2018-08-26 12:51:46 +00:00
gdb
geom Fix use-after-free in RAID0 error reporting of GEOM_RAID. 2018-09-24 16:58:55 +00:00
gnu dts: Import DTS for arm64 2018-08-23 13:21:01 +00:00
i386 Convert x86 cache invalidation functions to ifuncs. 2018-09-19 19:35:02 +00:00
isa Reapply, with minor tweaks, r338025, from the original commit: 2018-09-26 17:12:14 +00:00
kern Eliminate false sharing in malloc due to statistic collection 2018-09-23 19:00:06 +00:00
kgssapi OpenCrypto: Convert sessions to opaque handles instead of integers 2018-07-18 00:56:25 +00:00
libkern Sync strlcpy with userland version, again 2018-06-21 17:35:13 +00:00
mips Re-enable kernel modules for the MALTA64EL kernel configuration. 2018-09-06 19:21:31 +00:00
modules Catch exceptions during EFI RT calls on amd64. 2018-09-02 21:37:05 +00:00
net Reapply, with minor tweaks, r338025, from the original commit: 2018-09-26 17:12:14 +00:00
net80211 Fix misspellings of transmitter/transmitted 2018-08-10 20:37:32 +00:00
netgraph Remove the Yarrow PRNG algorithm option in accordance with due notice 2018-08-26 12:51:46 +00:00
netinet Whitespace changes and fixing a typo. No functional change. 2018-09-26 10:24:50 +00:00
netinet6 In icmp6_rip6_input(), once we have a lock, make sure the inp is 2018-09-20 15:45:53 +00:00
netipsec Fix witness warning in xform_init(). 2018-09-26 14:47:51 +00:00
netpfil Significantly improve pf purge cpu usage by only taking locks 2018-09-16 00:44:23 +00:00
netsmb Make timespecadd(3) and friends public 2018-07-30 15:46:40 +00:00
nfs Switch RIB and RADIX_NODE_HEAD lock from rwlock(9) to rmlock(9). 2018-06-16 08:26:23 +00:00
nfsclient
nfsserver
nlm
ofed Introduce and use sgid_index in CM requests in ibcore. 2018-09-09 07:20:15 +00:00
opencrypto Add per-session locking to cryptosoft (swcr). 2018-09-26 20:23:12 +00:00
powerpc powerpc: Blacklist the top 64kB range of the lower 4GB PA space 2018-09-25 02:34:28 +00:00
riscv Implement pmap_sync_icache(). 2018-09-24 17:41:29 +00:00
rpc Set SO_SNDTIMEO in the client side krpc when CLSET_TIMEOUT is done. 2018-07-20 12:03:16 +00:00
security The kernel DTrace audit provider (dtaudit) relies on auditd(8) to load 2018-09-03 14:26:43 +00:00
sparc64 Prepare the kernel linker to handle PC-relative ifunc relocations. 2018-08-22 20:44:30 +00:00
sys Reapply, with minor tweaks, r338025, from the original commit: 2018-09-26 17:12:14 +00:00
teken teken: Fix sequences header which was crossing the 80-col boundary 2018-05-29 08:41:44 +00:00
tests epoch_test: fix compile 2018-07-15 00:31:17 +00:00
tools make_dtb: Always add root directory in the include path 2018-08-23 13:23:21 +00:00
ufs Correct panic messages. 2018-09-22 17:05:49 +00:00
vm Add more NUMA-specific low memory predicates. 2018-09-24 19:24:17 +00:00
x86 Add more NUMA-specific low memory predicates. 2018-09-24 19:24:17 +00:00
xdr
xen xen: legacy PVH fixes for the new interrupt count 2018-09-13 07:14:11 +00:00
Makefile