diff options
author | Zoltan Kiss <zoltan.kiss@citrix.com> | 2014-03-25 00:59:49 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-03-26 21:33:42 +0100 |
commit | 869b9b19b3affd81cee853d33c0b124797f3c387 (patch) | |
tree | 04bdb4dff188ae19ca61f02692d9a6b3c6b03274 /drivers/net/xen-netback/interface.c | |
parent | Merge branch 'bcm7xxx-next' (diff) | |
download | linux-869b9b19b3affd81cee853d33c0b124797f3c387.tar.xz linux-869b9b19b3affd81cee853d33c0b124797f3c387.zip |
xen-netback: Stop using xenvif_tx_pending_slots_available
Since the early days TX stops if there isn't enough free pending slots to
consume a maximum sized (slot-wise) packet. Probably the reason for that is to
avoid the case when we don't have enough free pending slot in the ring to finish
the packet. But if we make sure that the pending ring has the same size as the
shared ring, that shouldn't really happen. The frontend can only post packets
which fit the to the free space of the shared ring. If it doesn't, the frontend
has to stop, as it can only increase the req_prod when the whole packet fits
onto the ring.
This patch avoid using this checking, makes sure the 2 ring has the same size,
and remove a checking from the callback. As now we don't stop the NAPI instance
on this condition, we don't have to wake it up if we free pending slots up.
Signed-off-by: Zoltan Kiss <zoltan.kiss@citrix.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/xen-netback/interface.c')
-rw-r--r-- | drivers/net/xen-netback/interface.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/net/xen-netback/interface.c b/drivers/net/xen-netback/interface.c index 23bb2f4b18fe..e71fb1ac5c4d 100644 --- a/drivers/net/xen-netback/interface.c +++ b/drivers/net/xen-netback/interface.c @@ -88,8 +88,7 @@ static int xenvif_poll(struct napi_struct *napi, int budget) local_irq_save(flags); RING_FINAL_CHECK_FOR_REQUESTS(&vif->tx, more_to_do); - if (!(more_to_do && - xenvif_tx_pending_slots_available(vif))) + if (!more_to_do) __napi_complete(napi); local_irq_restore(flags); |