freebsd-nq/sys/arm/conf
Andrew Gallatin 542970fa2d Remove IPSEC from GENERIC due to performance issues
Having IPSEC compiled into the kernel imposes a non-trivial
performance penalty on multi-threaded workloads due to IPSEC
refcounting. In my benchmarks of multi-threaded UDP
transmit (connected sockets), I've seen a roughly 20% performance
penalty when the IPSEC option is included in the kernel (16.8Mpps
vs 13.8Mpps with 32 senders on a 14 core / 28 HTT Xeon
2697v3)). This is largely due to key_addref() incrementing and
decrementing an atomic reference count on the default
policy. This cause all CPUs to stall on the same cacheline, as it
bounces between different CPUs.

Given that relatively few users use ipsec, and that it can be
loaded as a module, it seems reasonable to ask those users to
load the ipsec module so as to avoid imposing this penalty on the
GENERIC kernel. Its my hope that this will make FreeBSD look
better in "out of the box" benchmark comparisons with other
operating systems.

Many thanks to ae for fixing auto-loading of ipsec.ko when
ifconfig tries to configure ipsec, and to cy for volunteering
to ensure the the racoon ports will load the ipsec.ko module

Reviewed by:	cem, cy, delphij, gnn, jhb, jpaetzel
Differential Revision:	https://reviews.freebsd.org/D20163
2019-05-09 22:38:15 +00:00
..
ALPINE Move options INTRNG into std.armv6 and std.armv7 2018-08-20 20:31:53 +00:00
APALIS-IMX6 Update several more URLs 2017-10-29 08:17:03 +00:00
ARMADA38X Comment MD_ROOT and remove 'device re' which is not part of the system and 2018-11-15 16:29:27 +00:00
ARMADAXP Move options INTRNG into std.armv6 and std.armv7 2018-08-20 20:31:53 +00:00
ARNDALE Update several more URLs 2017-10-29 08:17:03 +00:00
ARNDALE-OCTA Update several more URLs 2017-10-29 08:17:03 +00:00
COLIBRI-VF50 Update several more URLs 2017-10-29 08:17:03 +00:00
COSMIC Update several more URLs 2017-10-29 08:17:03 +00:00
DB-78XXX In the TCP stack, the hhook(9) framework provides hooks for kernel modules 2016-10-12 02:16:42 +00:00
DB-88F5XXX In the TCP stack, the hhook(9) framework provides hooks for kernel modules 2016-10-12 02:16:42 +00:00
DB-88F6XXX In the TCP stack, the hhook(9) framework provides hooks for kernel modules 2016-10-12 02:16:42 +00:00
DEFAULTS
DOCKSTAR tun/tap: merge and rename to tuntap 2019-05-08 02:32:11 +00:00
DREAMPLUG-1001 tun/tap: merge and rename to tuntap 2019-05-08 02:32:11 +00:00
EA3250.hints
EFIKA_MX tun/tap: merge and rename to tuntap 2019-05-08 02:32:11 +00:00
genboardid.awk Remove 'All Rights Reserved.' from all of my Copyrights in sys/arm and 2018-05-01 16:21:01 +00:00
GENERIC arm: allwinner: Makes more device optional 2019-04-16 22:42:50 +00:00
GENERIC-MMCCAM Revert r339421 due to unintended files included to commit. 2018-10-18 15:17:58 +00:00
GENERIC-NODEBUG Since we don't enable BUF_TRACKING and FULL_BUF_TRACKING buffer debugging 2018-06-05 05:24:42 +00:00
IMX6 tun/tap: merge and rename to tuntap 2019-05-08 02:32:11 +00:00
IMX53 tun/tap: merge and rename to tuntap 2019-05-08 02:32:11 +00:00
JETSON-TK1 Update several more URLs 2017-10-29 08:17:03 +00:00
mach-types
Makefile
NOTES Move mpr/mps drivers from per-arch NOTES files into the MI notes 2019-04-13 06:30:45 +00:00
QUARTZ Update several more URLs 2017-10-29 08:17:03 +00:00
RPI-B Specify correct Ethernet phy for RPI-B 2019-04-16 09:44:46 +00:00
RT1310 This builds now, so aadd it back to Universe. 2018-07-27 21:26:32 +00:00
SAM9G20EK.hints
SHEEVAPLUG In the TCP stack, the hhook(9) framework provides hooks for kernel modules 2016-10-12 02:16:42 +00:00
SOCDK Revert r339421 due to unintended files included to commit. 2018-10-18 15:17:58 +00:00
SOCFPGA Move options INTRNG into std.armv6 and std.armv7 2018-08-20 20:31:53 +00:00
SOCKIT Update several more URLs 2017-10-29 08:17:03 +00:00
SOCKIT-BERI Update several more URLs 2017-10-29 08:17:03 +00:00
std.arm Add a COMPAT_FREEBSD12 kernel option. 2019-05-02 18:10:23 +00:00
std.armv6 Remove IPSEC from GENERIC due to performance issues 2019-05-09 22:38:15 +00:00
std.armv7 Remove IPSEC from GENERIC due to performance issues 2019-05-09 22:38:15 +00:00
TEGRA124 tun/tap: merge and rename to tuntap 2019-05-08 02:32:11 +00:00
TS7800 In the TCP stack, the hhook(9) framework provides hooks for kernel modules 2016-10-12 02:16:42 +00:00
VERSATILEPB Move options INTRNG into std.armv6 and std.armv7 2018-08-20 20:31:53 +00:00
VSATV102 Move options INTRNG into std.armv6 and std.armv7 2018-08-20 20:31:53 +00:00
VYBRID Move options INTRNG into std.armv6 and std.armv7 2018-08-20 20:31:53 +00:00
YYHD18 Update several more URLs 2017-10-29 08:17:03 +00:00
ZEDBOARD Move options INTRNG into std.armv6 and std.armv7 2018-08-20 20:31:53 +00:00