freebsd-nq/share
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
..
colldef Add ga_IE.UTF-8 locale. 2018-11-26 19:39:49 +00:00
ctypedef Add ga_IE.UTF-8 locale. 2018-11-26 19:39:49 +00:00
dict Sync with NetBSD's /usr/share/dict/words, with the exception of quim 2017-12-16 20:25:50 +00:00
doc Update several more URLs 2017-10-29 08:17:03 +00:00
dtrace Introduce dwatch(1) as a tool for making DTrace more useful 2018-03-06 23:44:19 +00:00
examples Fix jail examples in jib, jng, README 2018-10-28 18:32:47 +00:00
i18n share: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:26:40 +00:00
keys
man pfsync: Performance improvement 2018-12-06 19:27:15 +00:00
misc Apparently @portmgr does not feel like my current level of contribution 2018-12-06 18:12:50 +00:00
mk Disable the BSD CRT code on powerpc and sparc64, they need extra crt*.o 2018-12-03 09:40:37 +00:00
monetdef Add ga_IE.UTF-8 locale. 2018-11-26 19:39:49 +00:00
msgdef Add ga_IE.UTF-8 locale. 2018-11-26 19:39:49 +00:00
numericdef Add ga_IE.UTF-8 locale. 2018-11-26 19:39:49 +00:00
security
sendmail share: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:26:40 +00:00
skel Switch the default pager for most commands to less 2018-08-08 19:24:20 +00:00
snmp
syscons Don't use CCACHE for linking. 2018-06-27 19:29:15 +00:00
tabset
termcap termcap: add italics and tmux entries 2018-12-06 13:46:18 +00:00
tests
timedef Add ga_IE.UTF-8 locale. 2018-11-26 19:39:49 +00:00
vt Add some tom-thumb vt font glyphs 2018-10-21 00:35:54 +00:00
zoneinfo We don't actually need env here, so drop it. All shells allow setting 2018-02-09 15:50:32 +00:00
Makefile Convert traditional ${MK_TESTS} conditional idiom for including test 2017-08-02 08:35:51 +00:00
Makefile.inc