Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Mar 2020 14:03:27 +0000 (UTC)
From:      Andrew Gallatin <gallatin@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r359016 - head/sys/netinet
Message-ID:  <202003161403.02GE3Rse024202@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202003161403.02GE3Rse024202>