<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/cxgbe, branch release/12.4.0</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>Adjust t4_tracer_mod{load,unload}() definitions to avoid clang 15 warnings</title>
<updated>2022-07-23T08:57:43+00:00</updated>
<author>
<name>Dimitry Andric</name>
<email>dim@FreeBSD.org</email>
</author>
<published>2022-07-19T18:20:21+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=e5793e6e7fd9736662d0f073a0ca108bc3e4c751'/>
<id>e5793e6e7fd9736662d0f073a0ca108bc3e4c751</id>
<content type='text'>
With clang 15, the following -Werror warnings are produced:

    sys/dev/cxgbe/t4_tracer.c:234:18: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
    t4_tracer_modload()
                     ^
                      void
    sys/dev/cxgbe/t4_tracer.c:243:20: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
    t4_tracer_modunload()
                       ^
                        void

This is because t4_tracer_modload() and t4_tracer_modunload() are
declared with a (void) argument list, but defined with an empty argument
list. Make the definitions match the declarations.

MFC after:	3 days

(cherry picked from commit 54e5efb2643ec5f4bf40fef2a1937cd5449a58a0)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With clang 15, the following -Werror warnings are produced:

    sys/dev/cxgbe/t4_tracer.c:234:18: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
    t4_tracer_modload()
                     ^
                      void
    sys/dev/cxgbe/t4_tracer.c:243:20: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
    t4_tracer_modunload()
                       ^
                        void

This is because t4_tracer_modload() and t4_tracer_modunload() are
declared with a (void) argument list, but defined with an empty argument
list. Make the definitions match the declarations.

MFC after:	3 days

(cherry picked from commit 54e5efb2643ec5f4bf40fef2a1937cd5449a58a0)
</pre>
</div>
</content>
</entry>
<entry>
<title>cxgbe(4): Fix a typo in a source code comment</title>
<updated>2022-04-14T06:32:01+00:00</updated>
<author>
<name>Gordon Bergling</name>
<email>gbe@FreeBSD.org</email>
</author>
<published>2022-04-08T18:58:47+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=5328929686cdca8cf50e61fb74b7e7a2538385b1'/>
<id>5328929686cdca8cf50e61fb74b7e7a2538385b1</id>
<content type='text'>
- s/simultaniously/simultaneously/

(cherry picked from commit 8a1b8cf4be90f99e3df776fb93851262263e2e7e)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- s/simultaniously/simultaneously/

(cherry picked from commit 8a1b8cf4be90f99e3df776fb93851262263e2e7e)
</pre>
</div>
</content>
</entry>
<entry>
<title>cxgbe(4): Fix a typo in a source code comment</title>
<updated>2022-04-09T06:24:39+00:00</updated>
<author>
<name>Gordon Bergling</name>
<email>gbe@FreeBSD.org</email>
</author>
<published>2022-04-02T13:19:59+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=ed1226b5d51b578e6460bc1bf8e2d9014b9cae9b'/>
<id>ed1226b5d51b578e6460bc1bf8e2d9014b9cae9b</id>
<content type='text'>
- s/commmand/command/

(cherry picked from commit 5ee87525a853ebf50d834e69f814b9055996b964)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- s/commmand/command/

(cherry picked from commit 5ee87525a853ebf50d834e69f814b9055996b964)
</pre>
</div>
</content>
</entry>
<entry>
<title>cxgbe(4): Fix a typo in a source code comment</title>
<updated>2022-04-02T13:42:38+00:00</updated>
<author>
<name>Gordon Bergling</name>
<email>gbe@FreeBSD.org</email>
</author>
<published>2022-03-27T16:32:19+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=7407ac89fc5f5afcd5fd56b9de69c376c16883b6'/>
<id>7407ac89fc5f5afcd5fd56b9de69c376c16883b6</id>
<content type='text'>
- s/begining/beginning/

(cherry picked from commit c9023cf7feb19694d433abe45cecedc3a2b99cb0)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- s/begining/beginning/

(cherry picked from commit c9023cf7feb19694d433abe45cecedc3a2b99cb0)
</pre>
</div>
</content>
</entry>
<entry>
<title>cxgbe(4): Stop but don't free netmap queues when netmap is switched off.</title>
<updated>2021-10-20T20:55:36+00:00</updated>
<author>
<name>Navdeep Parhar</name>
<email>np@FreeBSD.org</email>
</author>
<published>2020-12-03T08:30:29+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=1f4943c92cdd783e31a7c145660e8ac961aaabbd'/>
<id>1f4943c92cdd783e31a7c145660e8ac961aaabbd</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.

Sponsored by:	Chelsio Communications

(cherry picked from commit 8eba75ed68854188c01a2058fe1f826b3428dbfa)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.

Sponsored by:	Chelsio Communications

(cherry picked from commit 8eba75ed68854188c01a2058fe1f826b3428dbfa)
</pre>
</div>
</content>
</entry>
<entry>
<title>cxgbe(4): Revert r367917.</title>
<updated>2021-10-20T18:26:49+00:00</updated>
<author>
<name>Navdeep Parhar</name>
<email>np@FreeBSD.org</email>
</author>
<published>2020-12-02T20:54:03+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=d31b8f0dece18bb5c301a71200d8a8c03ab84602'/>
<id>d31b8f0dece18bb5c301a71200d8a8c03ab84602</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

(cherry picked from commit f42f3b2955e5afa770275fd76b4f754fbd67bbeb)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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

(cherry picked from commit f42f3b2955e5afa770275fd76b4f754fbd67bbeb)
</pre>
</div>
</content>
</entry>
<entry>
<title>cxgbe(4): Catch up with in-flight netmap rx before destroying queues.</title>
<updated>2021-10-20T18:24:03+00:00</updated>
<author>
<name>Navdeep Parhar</name>
<email>np@FreeBSD.org</email>
</author>
<published>2020-11-21T03:27:32+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=ba2a30ed753cafa9b1a12a1cc5ec290a780422b6'/>
<id>ba2a30ed753cafa9b1a12a1cc5ec290a780422b6</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.

Sponsored by:	Chelsio Communications

(cherry picked from commit b3718e2d7ebfe7fc0bb57bd0906aacc28dd755b2)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.

Sponsored by:	Chelsio Communications

(cherry picked from commit b3718e2d7ebfe7fc0bb57bd0906aacc28dd755b2)
</pre>
</div>
</content>
</entry>
<entry>
<title>cxgbe(4): Save proper zone index on low memory in refill_fl().</title>
<updated>2021-02-22T23:55:19+00:00</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2021-02-17T02:15:28+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=ab88a1ff14ef1db0296af1d2be648b784ba4e614'/>
<id>ab88a1ff14ef1db0296af1d2be648b784ba4e614</id>
<content type='text'>
When refill_fl() fails to allocate large (9/16KB) mbuf cluster, it
falls back to safe (4KB) ones.  But it still saved into sd-&gt;zidx
the original fl-&gt;zidx instead of fl-&gt;safe_zidx.  It caused problems
with the later use of that cluster, including memory and/or data
corruption.

While there, make refill_fl() to use the safe zone for all following
clusters for the call, since it is unlikely that large succeed.

MFC after:	3 days
Sponsored by:	iXsystems, Inc.
Reviewed by:	np, jhb
Differential Revision:	https://reviews.freebsd.org/D28716

(cherry picked from commit 294e62bebf36f873fd083d2fe8edd78919dda4e8)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When refill_fl() fails to allocate large (9/16KB) mbuf cluster, it
falls back to safe (4KB) ones.  But it still saved into sd-&gt;zidx
the original fl-&gt;zidx instead of fl-&gt;safe_zidx.  It caused problems
with the later use of that cluster, including memory and/or data
corruption.

While there, make refill_fl() to use the safe zone for all following
clusters for the call, since it is unlikely that large succeed.

MFC after:	3 days
Sponsored by:	iXsystems, Inc.
Reviewed by:	np, jhb
Differential Revision:	https://reviews.freebsd.org/D28716

(cherry picked from commit 294e62bebf36f873fd083d2fe8edd78919dda4e8)
</pre>
</div>
</content>
</entry>
<entry>
<title>cxgbe(4): Fixes to tx coalescing.</title>
<updated>2021-02-16T20:37:07+00:00</updated>
<author>
<name>Navdeep Parhar</name>
<email>np@FreeBSD.org</email>
</author>
<published>2021-02-01T11:00:09+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=42f7f5c5d22cc9e845e51a1f8a5b92573b8b3d2f'/>
<id>42f7f5c5d22cc9e845e51a1f8a5b92573b8b3d2f</id>
<content type='text'>
- The behavior implemented in r362905 resulted in delayed transmission
  of packets in some cases, causing performance issues.  Use a different
  heuristic to predict tx requests.

- Add a tunable/sysctl (hw.cxgbe.tx_coalesce) to disable tx coalescing
  entirely.  It can be changed at any time.  There is no change in
  default behavior.

(cherry picked from commit 3447df8bc5b342bd88d565641435284ff620ee2a)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- The behavior implemented in r362905 resulted in delayed transmission
  of packets in some cases, causing performance issues.  Use a different
  heuristic to predict tx requests.

- Add a tunable/sysctl (hw.cxgbe.tx_coalesce) to disable tx coalescing
  entirely.  It can be changed at any time.  There is no change in
  default behavior.

(cherry picked from commit 3447df8bc5b342bd88d565641435284ff620ee2a)
</pre>
</div>
</content>
</entry>
<entry>
<title>cxgbe(4): Check for descriptors before writing a TLS or raw work request.</title>
<updated>2021-02-16T20:32:35+00:00</updated>
<author>
<name>Navdeep Parhar</name>
<email>np@FreeBSD.org</email>
</author>
<published>2020-08-31T22:44:59+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=568d9aa2b5bc1ce3c54dbb2586c75a4423db3399'/>
<id>568d9aa2b5bc1ce3c54dbb2586c75a4423db3399</id>
<content type='text'>
(cherry picked from commit 565b8fce23e6250b673a956ce753e37b201a5847)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(cherry picked from commit 565b8fce23e6250b673a956ce753e37b201a5847)
</pre>
</div>
</content>
</entry>
</feed>
