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>