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;
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to