[PATCH 2/6] sfxge: limit software Tx queue size

Gleb Smirnoff glebius at FreeBSD.org
Tue Mar 18 13:24:43 UTC 2014


  Andrew,

On Tue, Mar 18, 2014 at 01:55:01PM +0400, Andrew Rybchenko wrote:
A> sfxge: limit software Tx queue size
A> 
A> Previous implementation limits put queue size only (when Tx lock can't 
A> be acquired),
A> but get queue may grow unboundedly which results in mbuf pools 
A> exhaustion and
A> latency growth.
A> 
A> Submitted-by:   Andrew Rybchenko <Andrew.Rybchenko at oktetlabs.ru>
A> Sponsored by:   Solarflare Communications, Inc.

The interaction between sfxge_tx_qdpl_put() and sfxge_tx_packet_add()
is quite complex and I couldn't resist from suggesting you to
simplify the code.

Can you please look into attached patch?

- Inline sfxge_tx_qdpl_put() into sfxge_tx_packet_add().
- Simplify the 'locked' logic.
- Add your PATCH 1/6, the mbuf leak fix.
- Add your PATCH 2/6, the SFXGE_TX_DPL_GET_PKT_LIMIT_DEFAULT check.

-- 
Totus tuus, Glebius.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 2.diff
Type: text/x-diff
Size: 4901 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-net/attachments/20140318/b783b35d/attachment.diff>


More information about the freebsd-net mailing list