]> git.baikalelectronics.ru Git - kernel.git/commit
sfc: Report TX completions to BQL after all TX events in interrupt
authorPeter Dunning <pdunning@solarflare.com>
Wed, 8 Jul 2015 09:05:10 +0000 (10:05 +0100)
committerDavid S. Miller <davem@davemloft.net>
Thu, 9 Jul 2015 07:00:40 +0000 (00:00 -0700)
commit9126e7ce14e14b4b288f59554c530ff8986b3745
tree999f02b4bd00500bee3d131f55b30f3b1118e86d
parenta88a20a06d3d586983a9ff832a5b5ece38f50904
sfc: Report TX completions to BQL after all TX events in interrupt

The limit for BQL is updated each time we call
netdev_tx_completed_queue.
Without this patch the BQL limit was updated for every TX event we
see.
The issue was that this only updated the limit to handle the data
we complete in two events as the first event wouldn't show that
enough traffic had been processed between them.

This was OK when interrupt moderation was off but not when it was
on as more data had to be completed in a single interrupt.

The patch changes this so that we do report the completion to BQL
only when all the TX events in the interrupt have been processed.

Signed-off-by: Shradha Shah <sshah@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/sfc/efx.c
drivers/net/ethernet/sfc/net_driver.h
drivers/net/ethernet/sfc/tx.c