net: mv643xx_eth: Limit the TSO segments and adjust stop/wake thresholds
authorEzequiel Garcia <ezequiel.garcia@free-electrons.com>
Fri, 30 May 2014 16:40:09 +0000 (13:40 -0300)
committerDavid S. Miller <davem@davemloft.net>
Mon, 2 Jun 2014 23:16:06 +0000 (16:16 -0700)
commitee9e49561bdd6d6b53a67616b5ebbb8d8c6d9c49
treef056926e4b8f030af0bad3be350a11b8c84823c5
parentdd11680d0e843a9e5519304a0e89dd3815439102
net: mv643xx_eth: Limit the TSO segments and adjust stop/wake thresholds

Currently small MSS values may require too many TSO descriptors for
the default queue size. This commit prevents this situation by fixing
the maximum supported TSO number of segments to 100 and by setting a
minimum Tx queue size. The minimum Tx queue size is set so that at
least 2 worst-case skb can be accommodated.

In addition, the queue stop and wake thresholds values are adjusted
accordingly. The queue is stopped when there's room for only 1 worst-case
skb and waked when the number of descriptors is half that value.

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/mv643xx_eth.c