<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/cxgbe, branch releng/12.2</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=releng%2F12.2</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=releng%2F12.2'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2020-10-05T16:39:38Z</updated>
<entry>
<title>MFS r366438:</title>
<updated>2020-10-05T16:39:38Z</updated>
<author>
<name>Navdeep Parhar</name>
<email>np@FreeBSD.org</email>
</author>
<published>2020-10-05T16:39:38Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f4d391bd542adf0d4c21248d88c2b1e439955e40'/>
<id>urn:sha1:f4d391bd542adf0d4c21248d88c2b1e439955e40</id>
<content type='text'>
cxgbe(4): set up the firmware flowc for the tid before send_abort_rpl.

Approved by:	re@ (gjb@)
Sponsored by:	Chelsio Communications
</content>
</entry>
<entry>
<title>MFS r365937, which merged r365861 and r365872 from head to stable/12.</title>
<updated>2020-09-21T18:19:48Z</updated>
<author>
<name>Navdeep Parhar</name>
<email>np@FreeBSD.org</email>
</author>
<published>2020-09-21T18:19:48Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=fe6dbcf75730bec1bb0fb84f49811d4392e7742e'/>
<id>urn:sha1:fe6dbcf75730bec1bb0fb84f49811d4392e7742e</id>
<content type='text'>
r365861:
cxgbe(4): Update T4/5/6 firmwares to 1.25.0.0.

r365872:
cxgbe(4): add the firmware binaries instead of the empty files that were added
in r365861.

Approved by:	re@ (gjb@)
</content>
</entry>
<entry>
<title>MFC r358924:</title>
<updated>2020-08-26T23:41:46Z</updated>
<author>
<name>Navdeep Parhar</name>
<email>np@FreeBSD.org</email>
</author>
<published>2020-08-26T23:41:46Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=02dea8a3cb79eda2d3acb4b8602d4c35df07c30e'/>
<id>urn:sha1:02dea8a3cb79eda2d3acb4b8602d4c35df07c30e</id>
<content type='text'>
cxgbe(4): Do not display error messages related to the CLIP table if
it's not in use by TOE or KTLS.
</content>
</entry>
<entry>
<title>MFC r340023 (by jhb@), r362905, r362938, and r363167.</title>
<updated>2020-08-26T23:21:26Z</updated>
<author>
<name>Navdeep Parhar</name>
<email>np@FreeBSD.org</email>
</author>
<published>2020-08-26T23:21:26Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3c7e9adfcd3a66f5eae778dc92a6bf098b22cbcc'/>
<id>urn:sha1:3c7e9adfcd3a66f5eae778dc92a6bf098b22cbcc</id>
<content type='text'>
r340023:
Check cannot_use_txpkts() rather than needs_tso() in add_to_txpkts().

Currently this is a no-op, but will matter in the future when
cannot_use_txpkts() starts checking other conditions than just
needs_tso().

r362905:
cxgbe(4): changes in the Tx path to help increase tx coalescing.

- Ask the firmware for the number of frames that can be stuffed in one
  work request.

- Modify mp_ring to increase the likelihood of tx coalescing when there
  are just one or two threads that are doing most of the tx.  Add teeth
  to the abdication mechanism by pushing the consumer lock into mp_ring.
  This reduces the likelihood that a consumer will get stuck with all
  the work even though it is above its budget.

- Add support for coalesced tx WR to the VF driver.  This, with the
  changes above, results in a 7x improvement in the tx pps of the VF
  driver for some common cases.  The firmware vets the L2 headers
  submitted by the VF driver and it's a big win if the checks are
  performed for a batch of packets and not each one individually.

r362938:
cxgbe(4): Fix a bug (introduced in r362905) where some tx traffic wasn't
being reported to BPF.

r363167:
cxgbev(4): Compare at most 16 bytes of the Ethernet header when trying
to coalesce tx work requests.

Note that Coverity will still treat this as an out-of-bounds access.  We
do want to compare 16B starting from ethmacdst but cmp_l2hdr was was
going beyond that by 2B.

cmp_l2hdr was introduced in r362905.

Sponsored by:	Chelsio Communications
</content>
</entry>
<entry>
<title>MFC 361776: Explicitly zero AES key schedules on the stack.</title>
<updated>2020-08-26T22:11:22Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2020-08-26T22:11:22Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=7a490b844c8ca9b1a3058b5f27e17b7b8beff246'/>
<id>urn:sha1:7a490b844c8ca9b1a3058b5f27e17b7b8beff246</id>
<content type='text'>
</content>
</entry>
<entry>
<title>MFC r363498:</title>
<updated>2020-08-25T18:21:13Z</updated>
<author>
<name>Navdeep Parhar</name>
<email>np@FreeBSD.org</email>
</author>
<published>2020-08-25T18:21:13Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=2e66b5bb2cb4afc03c79bef561a0907be19dc524'/>
<id>urn:sha1:2e66b5bb2cb4afc03c79bef561a0907be19dc524</id>
<content type='text'>
cxgbe(4): Some updates to the common code.
</content>
</entry>
<entry>
<title>MFC r364444:</title>
<updated>2020-08-25T18:11:45Z</updated>
<author>
<name>Navdeep Parhar</name>
<email>np@FreeBSD.org</email>
</author>
<published>2020-08-25T18:11:45Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=540f11f99485c58f5c28b7b13bbf1651329dae79'/>
<id>urn:sha1:540f11f99485c58f5c28b7b13bbf1651329dae79</id>
<content type='text'>
cxgbei: destroy the worker threads' CV and mutex in stop_worker_threads.
</content>
</entry>
<entry>
<title>MFC r362616:</title>
<updated>2020-08-25T02:54:48Z</updated>
<author>
<name>Navdeep Parhar</name>
<email>np@FreeBSD.org</email>
</author>
<published>2020-08-25T02:54:48Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f96e05aecd96f8f9f6f042a77eeda7d4e869356d'/>
<id>urn:sha1:f96e05aecd96f8f9f6f042a77eeda7d4e869356d</id>
<content type='text'>
cxgbe(4): Add a pointer to the adapter softc in vi_info.

There were quite a few places where port_info was being accessed only to
get to the adapter.

Sponsored by:	Chelsio Communications
</content>
</entry>
<entry>
<title>MFC r362532:</title>
<updated>2020-08-25T02:42:07Z</updated>
<author>
<name>Navdeep Parhar</name>
<email>np@FreeBSD.org</email>
</author>
<published>2020-08-25T02:42:07Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=26f2034179da6108dac2f31f6b5e9bfb312db7e5'/>
<id>urn:sha1:26f2034179da6108dac2f31f6b5e9bfb312db7e5</id>
<content type='text'>
cxgbe(4): Add a tx_len16_to_desc helper.

No functional change.

Sponsored by:	Chelsio Communications
</content>
</entry>
<entry>
<title>MFC r351444, r357475, r357479, r357481-r357482, r358859, and r364497.</title>
<updated>2020-08-25T02:14:36Z</updated>
<author>
<name>Navdeep Parhar</name>
<email>np@FreeBSD.org</email>
</author>
<published>2020-08-25T02:14:36Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=a884debd536e94692627a94d1f9e8aaa5aa94ca8'/>
<id>urn:sha1:a884debd536e94692627a94d1f9e8aaa5aa94ca8</id>
<content type='text'>
All these are rx improvements in the cxgbe(4) driver.

r351444:
cxgbe(4): Use the same buffer size for TOE rx queues as the NIC rx queues.

This is a minor simplification.

r357475:
cxgbe(4): Initialize the rx buffer's metadata on first-use and not on
allocation.

refill_fl doesn't touch any part of a freshly allocated cluster after
this change.

r357479:
cxgbe(4): Avoid ext_arg2 in rxb_free.

ext_arg2 is the only item in the third cacheline in an mbuf and could be
cold by the time rxb_free runs.  Put the information needed by rxb_free
in the same line as the refcount, which is very likely to be hot given
that rxb_free runs when the refcount is decremented and reaches 0.

r357481:
cxgbe(4): Retire the allow_mbufs_in_cluster optimization.

This simplifies the driver's rx fast path as well as the bookkeeping
code that tracks various rx buffer sizes and layouts.

r357482:
cxgbe(4): Treat NIC rx as special and run its handler directly and not
via the t4_cpl_handler dispatch table.

r358859:
cxgbe(4): Do not try to use 0 as an rx buffer address when the driver is
already allocating from the safe zone and the allocation fails.

This bug was introduced in r357481.

r364497:
cxgbe(4): Use large clusters for TOE rx queues when TOE+TLS is enabled.

Rx is more efficient within the chip when the receive buffer size
matches the TLS PDU size.

Sponsored by:	Chelsio Communications
</content>
</entry>
</feed>
