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