svn commit: r359016 - head/sys/netinet
Andrew Gallatin
gallatin at FreeBSD.org
Mon Mar 16 14:03:28 UTC 2020
Author: gallatin
Date: Mon Mar 16 14:03:27 2020
New Revision: 359016
URL: https://svnweb.freebsd.org/changeset/base/359016
Log:
Avoid a cache miss accessing an mbuf ext_pgs pointer when doing SW kTLS.
For a Netflix 90Gb/s 100% TLS software kTLS workload, this reduces
the CPI of tcp_m_copym() from ~3.5 to ~2.5 as reported by vtune.
Reviewed by: jtl, rrs
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D23998
Modified:
head/sys/netinet/tcp_output.c
Modified: head/sys/netinet/tcp_output.c
==============================================================================
--- head/sys/netinet/tcp_output.c Mon Mar 16 13:53:29 2020 (r359015)
+++ head/sys/netinet/tcp_output.c Mon Mar 16 14:03:27 2020 (r359016)
@@ -1907,7 +1907,7 @@ tcp_m_copym(struct mbuf *m, int32_t off0, int32_t *ple
top = NULL;
pkthdrlen = NULL;
#ifdef KERN_TLS
- if (m->m_flags & M_NOMAP)
+ if (hw_tls && (m->m_flags & M_NOMAP))
tls = m->m_ext.ext_pgs->tls;
else
tls = NULL;
More information about the svn-src-head
mailing list