• Rahul Lakkireddy's avatar
    cxgb4: fix throughput drop during Tx backpressure · 7affd808
    Rahul Lakkireddy authored
    commit 7c3bebc3 ("cxgb4: request the TX CIDX updates to status page")
    reverted back to getting Tx CIDX updates via DMA, instead of interrupts,
    introduced by commit d429005f ("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: 7c3bebc3 ("cxgb4: request the TX CIDX updates to status page")
    Fixes: d429005f ("cxgb4/cxgb4vf: Add support for SGE doorbell queue timer")
    Signed-off-by: default avatarRahul Lakkireddy <rahul.lakkireddy@chelsio.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    7affd808
sge.c 139 KB