be2net: support TX batching using skb->xmit_more flag
authorSathya Perla <sathya.perla@emulex.com>
Mon, 5 Jan 2015 10:48:34 +0000 (05:48 -0500)
committerDavid S. Miller <davem@davemloft.net>
Mon, 5 Jan 2015 21:32:53 +0000 (16:32 -0500)
commit5f07b3c51abe330c3dd702622c419efffb5757f0
treec666cc118eaac0087e79fa33119cb69507a1b748
parent889ee2c7d70e1ae9fc9341d0e82676c519ffede2
be2net: support TX batching using skb->xmit_more flag

This patch uses skb->xmit_more flag to batch TX requests.
TX is flushed either when xmit_more is false or there is
no more space in the TXQ.

Skyhawk-R and BEx chips require an even number of wrbs to be posted.
So, when a batch of TX requests is accumulated, the last header wrb
may need to be fixed with an extra dummy wrb.

This patch refactors be_xmit() routine as a sequence of be_xmit_enqueue()
and be_xmit_flush() calls. The Tx completion code is also
updated to be able to unmap/free a batch of skbs rather than a single
skb.

Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/emulex/benet/be.h
drivers/net/ethernet/emulex/benet/be_ethtool.c
drivers/net/ethernet/emulex/benet/be_hw.h
drivers/net/ethernet/emulex/benet/be_main.c
This page took 0.031308 seconds and 5 git commands to generate.