]> git.proxmox.com Git - mirror_ubuntu-focal-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)
committerStefan Bader <stefan.bader@canonical.com>
Fri, 3 Apr 2020 13:17:23 +0000 (15:17 +0200)
commit1d2909f7f1bd90e7fc4061cc480d1468d6557b10
tree1c3a9992e019f38036f7fc36bca7e18a2a2ef64b
parent434ad08ae89775b6a712514f106d974fd0ba0375
cxgb4: fix throughput drop during Tx backpressure

BugLink: https://bugs.launchpad.net/bugs/1870142
[ Upstream commit 7affd80802afb6ca92dba47d768632fbde365241 ]

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
drivers/net/ethernet/chelsio/cxgb4/sge.c