<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test/sys/dev/cxgbe/t4_netmap.c, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test/atom?h=main</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/'/>
<updated>2020-12-03T08:30:29Z</updated>
<entry>
<title>cxgbe(4): Stop but don't free netmap queues when netmap is switched off.</title>
<updated>2020-12-03T08:30:29Z</updated>
<author>
<name>Navdeep Parhar</name>
<email>np@FreeBSD.org</email>
</author>
<published>2020-12-03T08:30:29Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=8eba75ed68854188c01a2058fe1f826b3428dbfa'/>
<id>urn:sha1:8eba75ed68854188c01a2058fe1f826b3428dbfa</id>
<content type='text'>
It is common for freelists to be starving when a netmap application
stops.  Mailbox commands to free queues can hang in such a situation.
Avoid that by not freeing the queues when netmap is switched off.
Instead, use an alternate method to stop the queues without releasing
the context ids.  If netmap is enabled again later then the same queue
is reinitialized for use.  Move alloc_nm_rxq and txq to t4_netmap.c
while here.

MFC after:	1 week
Sponsored by:	Chelsio Communications
</content>
</entry>
<entry>
<title>cxgbe(4): Revert r367917.</title>
<updated>2020-12-02T20:54:03Z</updated>
<author>
<name>Navdeep Parhar</name>
<email>np@FreeBSD.org</email>
</author>
<published>2020-12-02T20:54:03Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=f42f3b2955e5afa770275fd76b4f754fbd67bbeb'/>
<id>urn:sha1:f42f3b2955e5afa770275fd76b4f754fbd67bbeb</id>
<content type='text'>
r367917 fixed the backpressure on the netmap rxq being stopped but that
doesn't help if some other netmap rxq is starved (because it is stopping
too although the driver doesn't know this yet) and blocks the pipeline.
An alternate fix that works in all cases will be checked in instead.

Sponsored by:	Chelsio Communications
</content>
</entry>
<entry>
<title>cxgbe(4): Catch up with in-flight netmap rx before destroying queues.</title>
<updated>2020-11-21T03:27:32Z</updated>
<author>
<name>Navdeep Parhar</name>
<email>np@FreeBSD.org</email>
</author>
<published>2020-11-21T03:27:32Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=b3718e2d7ebfe7fc0bb57bd0906aacc28dd755b2'/>
<id>urn:sha1:b3718e2d7ebfe7fc0bb57bd0906aacc28dd755b2</id>
<content type='text'>
The netmap application using the driver is responsible for replenishing
the receive freelists and they may be totally depleted when the
application exits.  Packets in flight, if any, might block the pipeline
in case there aren't enough buffers left in the freelist.  Avoid this by
filling up the freelists with a driver allocated buffer.

MFC after:	1 week
Sponsored by:	Chelsio Communications
</content>
</entry>
<entry>
<title>cxgbe(4): fix the size of the iq/eq maps.</title>
<updated>2020-10-22T08:40:25Z</updated>
<author>
<name>Navdeep Parhar</name>
<email>np@FreeBSD.org</email>
</author>
<published>2020-10-22T08:40:25Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=b20b25e744778ac54d54f5486035e70d6570f4d9'/>
<id>urn:sha1:b20b25e744778ac54d54f5486035e70d6570f4d9</id>
<content type='text'>
The firmware can allocate ingress and egress context ids anywhere from
its configured range.  Size the iq/eq maps to match the entire range
instead of assuming that the firmware always allocates the first
available context id.

Reported by:	Baptiste Wicht @ Verisign
MFC after:	1 week
Sponsored by:	Chelsio Communications
</content>
</entry>
<entry>
<title>cxgbe(4): Avoid unnecessary work in the firmware during netmap tx.</title>
<updated>2020-09-29T09:25:52Z</updated>
<author>
<name>Navdeep Parhar</name>
<email>np@FreeBSD.org</email>
</author>
<published>2020-09-29T09:25:52Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=822967e7e5b24d5fa980f69cab7b2982e1b6fa42'/>
<id>urn:sha1:822967e7e5b24d5fa980f69cab7b2982e1b6fa42</id>
<content type='text'>
Bind the netmap tx queues to a special '0xff' scheduling class which
makes the firmware skip some processing related to rate limiting on the
outgoing traffic.  Future firmwares will do this automatically.

MFC after:	1 week
Sponsored by:	Chelsio Communications
</content>
</entry>
<entry>
<title>Remove duplicate line.</title>
<updated>2020-09-29T09:11:51Z</updated>
<author>
<name>Navdeep Parhar</name>
<email>np@FreeBSD.org</email>
</author>
<published>2020-09-29T09:11:51Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=7efe256233388e16d5b37c70e8ad0afc4b55fe4d'/>
<id>urn:sha1:7efe256233388e16d5b37c70e8ad0afc4b55fe4d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>cxgbe(4): adjust the doorbell threshold for netmap freelists to match the</title>
<updated>2020-09-29T07:51:06Z</updated>
<author>
<name>Navdeep Parhar</name>
<email>np@FreeBSD.org</email>
</author>
<published>2020-09-29T07:51:06Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=15ca0766ed72ee8c2294cf047d2d391ffab2c016'/>
<id>urn:sha1:15ca0766ed72ee8c2294cf047d2d391ffab2c016</id>
<content type='text'>
maximum burst size used when fetching descriptors from the list.

MFC after:	1 week
Sponsored by:	Chelsio Communications
</content>
</entry>
<entry>
<title>cxgbe(4): display an error message when netmap cannot be enabled because</title>
<updated>2020-09-29T07:36:21Z</updated>
<author>
<name>Navdeep Parhar</name>
<email>np@FreeBSD.org</email>
</author>
<published>2020-09-29T07:36:21Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=f7b8615af50435a43b9a74acb0d842283765a4a4'/>
<id>urn:sha1:f7b8615af50435a43b9a74acb0d842283765a4a4</id>
<content type='text'>
the interface is down.

MFC after:	1 week
</content>
</entry>
<entry>
<title>cxgbe(4): fixes for netmap operation with only some queues active.</title>
<updated>2020-09-29T05:08:45Z</updated>
<author>
<name>Navdeep Parhar</name>
<email>np@FreeBSD.org</email>
</author>
<published>2020-09-29T05:08:45Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=a9f476580eb05efc1637bf7c9eb9602e1592d50f'/>
<id>urn:sha1:a9f476580eb05efc1637bf7c9eb9602e1592d50f</id>
<content type='text'>
- Only active netmap receive queues should be in the RSS lookup table.

- The RSS table should be restored for NIC operation when the last
  active netmap queue is switched off, not the first one.

- Support repeated netmap ON/OFF on a subset of the queues.  This works
  whether the the queues being enabled and disabled are the only ones
  active or not.  Some kring indexes have to be reset in the driver for
  the second case.

MFC after:	1 week
Sponsored by:	Chelsio Communications
</content>
</entry>
<entry>
<title>cxgbe(4): Add a pointer to the adapter softc in vi_info.</title>
<updated>2020-06-25T17:04:22Z</updated>
<author>
<name>Navdeep Parhar</name>
<email>np@FreeBSD.org</email>
</author>
<published>2020-06-25T17:04:22Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=7c228be30bd14fd8b683426bc91a608827426abf'/>
<id>urn:sha1:7c228be30bd14fd8b683426bc91a608827426abf</id>
<content type='text'>
There were quite a few places where port_info was being accessed only to
get to the adapter.

Reviewed by:	jhb@
MFC after:	1 week
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D25432
</content>
</entry>
</feed>
