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)
commit7affd80802afb6ca92dba47d768632fbde365241
tree16e8091cd15fee8c121c75a8ba81726f184639b8
parent22259471b51925353bd7b16f864c79fdd76e425e
cxgb4: fix throughput drop during Tx backpressure

commit 7c3bebc3d868 ("cxgb4: request the TX CIDX updates to status page")
reverted back to getting Tx CIDX updates via DMA, instead of interrupts,
introduced by commit d429005fdf2c ("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: 7c3bebc3d868 ("cxgb4: request the TX CIDX updates to status page")
Fixes: d429005fdf2c ("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