freebsd-dev/sys
Fabien Thomas f8e73c47d8 Add a SPD cache to speed up lookups.
When large SPDs are used, we face two problems:

- too many CPU cycles are spent during the linear searches in the SPD
  for each packet
- too much contention on multi socket systems, since we use a single
  shared lock.

Main changes:

- added the sysctl tree 'net.key.spdcache' to control the SPD cache
  (disabled by default).
- cache the sp indexes that are used to perform SP lookups.
- use a range of dedicated mutexes to protect the cache lines.

Submitted by: Emeric Poupon <emeric.poupon@stormshield.eu>
Reviewed by: ae
Sponsored by:	Stormshield
Differential Revision: https://reviews.freebsd.org/D15050
2018-05-22 15:54:25 +00:00
..
amd64 Enable IBRS when entering an interrupt handler from usermode. 2018-05-22 13:25:15 +00:00
arm Pass the array length into regions_to_avail. 2018-05-22 14:26:58 +00:00
arm64 Revert r334035 for now. It breaks the boot on some boards as er expect to 2018-05-22 15:52:11 +00:00
bsm
cam Hold the reference count until the CCB is released 2018-05-15 22:22:10 +00:00
cddl Fix 'zpool create -t <tempname>' 2018-05-15 13:27:29 +00:00
compat ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
conf Switch arm64 to use the same physmem code as 32-bit arm. 2018-05-22 11:07:04 +00:00
contrib ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
crypto disable printing value of SKEIN_LOOP during standard out, 2018-05-19 18:27:14 +00:00
ddb Fix PPC symbol resolution 2018-05-10 03:59:48 +00:00
dev Typo. 2018-05-22 15:49:23 +00:00
dts arm: overlays: Update to new path-based sugar format 2018-05-04 14:38:48 +00:00
fs nfsclient: warnings cleanups 2018-05-20 06:14:12 +00:00
gdb
geom Introduce the 'n' flag for the geli attach command. 2018-05-09 20:53:38 +00:00
gnu gnu/dts: Update our copy of arm dts from Linux 4.16 2018-04-20 19:37:08 +00:00
i386 Use local unique labels inside most often used macros. 2018-05-22 13:45:40 +00:00
isa Revert r330780, it was improperly tested and results in taking a spin 2018-03-11 20:13:15 +00:00
kern Add a SPD cache to speed up lookups. 2018-05-22 15:54:25 +00:00
kgssapi
libkern Remove "All rights reserved" from my files. 2018-05-10 06:41:08 +00:00
mips Include kernel modules for MALTA kernels. 2018-05-16 17:54:40 +00:00
modules disable set but not used on code that can't be changed 2018-05-19 04:46:34 +00:00
net Simplify lagg_input(). 2018-05-22 15:35:38 +00:00
net80211 Use an accessor function to access ifr_data. 2018-03-30 18:50:13 +00:00
netgraph ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
netinet inpcb: revert deferred inpcb free pending further review 2018-05-21 16:13:43 +00:00
netinet6 Pair CURVNET_SET and CURVNET_RESTORE in a block 2018-05-21 13:08:44 +00:00
netipsec Add a SPD cache to speed up lookups. 2018-05-22 15:54:25 +00:00
netpfil Restore the ability to keep states after parent rule deletion. 2018-05-22 13:28:05 +00:00
netsmb Eliminate the overhead of gratuitous repeated reinitialization of cap_rights 2018-05-09 18:47:24 +00:00
nfs ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
nfsclient
nfsserver
nlm
ofed ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
opencrypto cryptosoft: Do not exceed crd_len around *crypt_multi 2018-04-19 15:24:21 +00:00
powerpc Add an IPMI attachment for PowerNV systems 2018-05-22 03:57:32 +00:00
riscv Export a breakpoint() function to userland for riscv. 2018-05-16 16:56:35 +00:00
rpc
security Use an accessor function to access ifr_data. 2018-03-30 18:50:13 +00:00
sparc64 Enable kernel dump features in GENERIC for most platforms. 2018-05-19 19:53:23 +00:00
sys sx: port over writer starvation prevention measures from rwlock 2018-05-22 07:20:22 +00:00
teken teken: Rename the "Set Cursor Style" sequence to match vt100.net docs 2018-05-21 20:35:16 +00:00
tests epoch(9): Make epochs non-preemptible by default 2018-05-18 17:29:43 +00:00
tools Add dtb overlays support 2018-03-24 21:30:24 +00:00
ufs ufs: remove cgbno variable where unused 2018-05-19 19:30:42 +00:00
vm Use the canonical check for reservation support. 2018-05-19 23:49:13 +00:00
x86 Cleanups related to debug exceptions on x86. 2018-05-22 00:45:00 +00:00
xdr
xen xen: fix gntdev 2018-05-02 10:19:17 +00:00
Makefile