freebsd-nq/sys
Andrew Gallatin 98085bae8c make lacp's use_numa hashing aware of send tags
When I did the use_numa support, I missed the fact that there is
a separate hash function for send tag nic selection. So when
use_numa is enabled, ktls offload does not work properly, as it
does not reliably allocate a send tag on the proper egress nic
since different egress nics are selected for send-tag allocation
and packet transmit. To fix this, this change:

- refectors lacp_select_tx_port_by_hash() and
     lacp_select_tx_port() to make lacp_select_tx_port_by_hash()
     always called by lacp_select_tx_port()

-   pre-shifts flowids to convert them to hashes when calling lacp_select_tx_port_by_hash()

-   adds a numa_domain field to if_snd_tag_alloc_params

-   plumbs the numa domain into places where we allocate send tags

In testing with NIC TLS setup on a NUMA machine, I see thousands
of output errors before the change when enabling
kern.ipc.tls.ifnet.permitted=1. After the change, I see no
errors, and I see the NIC sysctl counters showing active TLS
offload sessions.

Reviewed by:	rrs, hselasky, jhb
Sponsored by:	Netflix
2020-03-09 13:44:51 +00:00
..
amd64 [aacraid] Port driver to big-endian 2020-03-05 20:04:41 +00:00
arm arm: zynq: An SPI driver for Zynq platforms 2020-02-28 10:57:23 +00:00
arm64 Add the missing brackets to the logical expression. 2020-03-09 13:36:45 +00:00
bsm
cam Reword a comment to describe what's actually going on. We can call invalidate 2020-03-07 00:29:12 +00:00
cddl zfs dmu_read: loosen the assertion. 2020-03-06 21:15:25 +00:00
compat Move compat.linux.map_sched_prio sysctl definition to linux_mib.c so it is 2020-03-05 14:41:27 +00:00
conf Add a new "mntfs" pseudo file system which provides private device vnodes for 2020-03-06 18:41:37 +00:00
contrib Retire macros: 2020-03-02 23:25:02 +00:00
crypto
ddb
dev cpufreq: Unbreak build. 2020-03-09 03:34:16 +00:00
dts arm: zynq: An SPI driver for Zynq platforms 2020-02-28 10:57:23 +00:00
fs fusefs: fix fsync for files with multiple open handles 2020-03-09 01:57:21 +00:00
gdb
geom
gnu dts: Update our copy for arm, arm64 and riscv dts to Linux 5.5 2020-02-28 15:42:51 +00:00
i386 Finish removal of bktr 2020-03-01 20:37:42 +00:00
isa
kern make lacp's use_numa hashing aware of send tags 2020-03-09 13:44:51 +00:00
kgssapi
libkern
mips
modules [aacraid] Port driver to big-endian 2020-03-05 20:04:41 +00:00
net make lacp's use_numa hashing aware of send tags 2020-03-09 13:44:51 +00:00
net80211
netgraph Fix spelling of "dropped". 2020-03-04 22:32:40 +00:00
netinet make lacp's use_numa hashing aware of send tags 2020-03-09 13:44:51 +00:00
netinet6 ip6: retire in6_selectroute_fib() as promised 8 years ago 2020-03-03 13:48:12 +00:00
netipsec
netpfil
netsmb
nfs
nfsclient
nfsserver
nlm Remove stale FreeBSD_version checks. 2020-03-01 23:01:37 +00:00
ofed Fix some whitespace issues in ipoib. 2020-03-06 09:59:07 +00:00
opencrypto
powerpc Revert 2020-03-06 23:01:49 +00:00
riscv fuspi: silence build warning, plug resource leak 2020-03-09 04:09:36 +00:00
rpc Remove obsolete old-freebsd version compat shim. 2020-03-01 23:01:51 +00:00
security In r358471, we interrupted the case block that would eventually lead 2020-03-03 01:46:35 +00:00
sys fd: use smr for managing struct pwd 2020-03-08 00:23:36 +00:00
teken
tests
tools
ufs fd: use smr for managing struct pwd 2020-03-08 00:23:36 +00:00
vm Clean up uma_int.h a bit. 2020-03-07 15:37:23 +00:00
x86
xdr
xen
Makefile