net: mvneta: Limit the TSO segments and adjust stop/wake thresholds
authorEzequiel Garcia <ezequiel.garcia@free-electrons.com>
Fri, 30 May 2014 16:40:05 +0000 (13:40 -0300)
committerDavid S. Miller <davem@davemloft.net>
Mon, 2 Jun 2014 23:16:05 +0000 (16:16 -0700)
commit8eef5f9723f987d14de409c0a65e94a83841b28a
treee4591b9b41af4903bd739205f81aee815e75364b
parent9fa9379dcb52a9172c0ee520d8afe7a3dc6288b4
net: mvneta: 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/mvneta.c