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"