]> git.baikalelectronics.ru Git - kernel.git/commit
cxgb4: fix throughput drop during Tx backpressure
authorRahul Lakkireddy <rahul.lakkireddy@chelsio.com>
Thu, 19 Mar 2020 17:38:09 +0000 (23:08 +0530)
committerDavid S. Miller <davem@davemloft.net>
Fri, 20 Mar 2020 04:29:07 +0000 (21:29 -0700)
commit0ddf97e56118e0de3a6e828f553b9f34c713c371
tree16e8091cd15fee8c121c75a8ba81726f184639b8
parent9a985d15494c215ce2f2ec68c71ed7920cadbf70
cxgb4: fix throughput drop during Tx backpressure

commit e330a37d0387 ("cxgb4: request the TX CIDX updates to status page")
reverted back to getting Tx CIDX updates via DMA, instead of interrupts,
introduced by commit bd0ef9097b8b ("cxgb4/cxgb4vf: Add support for SGE
doorbell queue timer")

However, it missed reverting back several code changes where Tx CIDX
updates are not explicitly requested during backpressure when using
interrupt mode. These missed changes cause slow recovery during
backpressure because the corresponding interrupt no longer comes and
hence results in Tx throughput drop.

So, revert back these missed code changes, as well, which will allow
explicitly requesting Tx CIDX updates when backpressure happens.
This enables the corresponding interrupt with Tx CIDX update message
to get generated and hence speed up recovery and restore back
throughput.

Fixes: e330a37d0387 ("cxgb4: request the TX CIDX updates to status page")
Fixes: bd0ef9097b8b ("cxgb4/cxgb4vf: Add support for SGE doorbell queue timer")
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/chelsio/cxgb4/sge.c