opnsense-src/sys
Kristof Provost 4fc65bcbe3 pfsync: Performance improvement
pfsync code is called for every new state, state update and state
deletion in pf. While pf itself can operate on multiple states at the
same time (on different cores, assuming the states hash to a different
hashrow), pfsync only had a single lock.
This greatly reduced throughput on multicore systems.

Address this by splitting the pfsync queues into buckets, based on the
state id. This ensures that updates for a given connection always end up
in the same bucket, which allows pfsync to still collapse multiple
updates into one, while allowing multiple cores to proceed at the same
time.

The number of buckets is tunable, but defaults to 2 x number of cpus.
Benchmarking has shown improvement, depending on hardware and setup, from ~30%
to ~100%.

MFC after:	1 week
Sponsored by:	Orange Business Services
Differential Revision:	https://reviews.freebsd.org/D18373
2018-12-06 19:27:15 +00:00
..
amd64 Plug memory disclosures via ptrace(2). 2018-12-03 20:54:17 +00:00
arm Plug memory disclosures via ptrace(2). 2018-12-03 20:54:17 +00:00
arm64 Build the dtb for the rock64 board. 2018-12-02 19:36:20 +00:00
bsm
cam NVME trim clocking 2018-11-27 00:36:35 +00:00
cddl zfs: we can boot from dataset with large_dnode enabled 2018-12-03 19:35:21 +00:00
compat Remove redundant declaration after r341517. 2018-12-05 15:56:44 +00:00
conf Fix LINT build after r341572. 2018-12-05 15:42:31 +00:00
contrib sx: retire SX_NOADAPTIVE 2018-12-05 16:43:03 +00:00
crypto rijndael (AES): Avoid leaking sensitive data on kernel stack 2018-10-26 20:53:01 +00:00
ddb ddb: Enable 'thread <address>' 2018-10-20 20:45:49 +00:00
dev Appease gcc build, remove duplicated declaration. 2018-12-06 19:20:00 +00:00
dts arm64: allwinner: Add 792Mhz frequency to sun50i-a64-opp 2018-11-30 10:31:30 +00:00
fs Plug memory disclosures via ptrace(2). 2018-12-03 20:54:17 +00:00
gdb amd64: Protect the kernel text, data, and BSS by setting the RW/NX bits 2018-03-06 14:28:37 +00:00
geom Normally when an attempt is made to mount a UFS/FFS filesystem whose 2018-12-06 00:09:39 +00:00
gnu Update our devicetree to 4.19 for arm and arm64 2018-11-10 21:02:32 +00:00
i386 Plug memory disclosures via ptrace(2). 2018-12-03 20:54:17 +00:00
isa Reapply, with minor tweaks, r338025, from the original commit: 2018-09-26 17:12:14 +00:00
kern Let kern.trap_enotcap be set as a tunable. 2018-12-06 17:29:37 +00:00
kgssapi OpenCrypto: Convert sessions to opaque handles instead of integers 2018-07-18 00:56:25 +00:00
libkern mcount: tidy up ANSIfication 2018-10-20 22:39:35 +00:00
mips Add CAPABILITIES to the ERL kernel config so that tools that have been 2018-11-28 13:25:10 +00:00
modules mlx5fpga_tools initial code import. 2018-12-05 14:17:22 +00:00
net netmap.h: include stdatomic.h 2018-12-05 15:38:52 +00:00
net80211 Fix misspellings of transmitter/transmitted 2018-08-10 20:37:32 +00:00
netgraph ng_source(4): correction after the change r340617 2018-11-27 04:05:38 +00:00
netinet Clamp the INPCB port hash tables to IPPORT_MAX + 1 chains. 2018-12-05 17:06:00 +00:00
netinet6 Clamp the INPCB port hash tables to IPPORT_MAX + 1 chains. 2018-12-05 17:06:00 +00:00
netipsec Add sadb_x_sa2 extension to SADB_ACQUIRE requests. 2018-10-21 14:19:16 +00:00
netpfil pfsync: Performance improvement 2018-12-06 19:27:15 +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 ipoib: Notify on modify QP failure only when relevant 2018-12-05 13:27:17 +00:00
opencrypto Add sha224 to the authctx union. 2018-10-23 18:07:37 +00:00
powerpc powerpc: Set very low priority mode while waiting for AP unleash event 2018-12-06 04:36:02 +00:00
riscv Fix reporting of SS_ONSTACK 2018-11-30 22:44:33 +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 audit: predict AUDITING_TD as false 2018-11-29 09:19:48 +00:00
sparc64 Plug memory disclosures via ptrace(2). 2018-12-03 20:54:17 +00:00
sys sx: retire SX_NOADAPTIVE 2018-12-05 16:43:03 +00:00
teken Implement ECMA-48 "REP", some Linuxen have started emitting them recently. 2018-10-21 08:29:36 +00:00
tests epoch_test: fix compile 2018-07-15 00:31:17 +00:00
tools Use ${ECHO} in dtb/dtbo build, pass in from dtb.mk for -s 2018-11-09 18:56:40 +00:00
ufs If the vfs.ffs.dotrimcons sysctl option is enabled while a file 2018-12-06 01:04:56 +00:00
vm Normalize COMPAT_43 syscall declarations. 2018-12-04 16:48:47 +00:00
x86 Add definitions for Intel Speed Shift 2018-11-21 00:21:58 +00:00
xdr
xen xen: legacy PVH fixes for the new interrupt count 2018-09-13 07:14:11 +00:00
Makefile