[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [linux-2.6.18-xen] netback: Fixes for delayed copy of tx network packets.



# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1260195268 0
# Node ID 1a97bd686258aabf7f57844dc77a00e0040ddab9
# Parent  2641f0d17eaa22811883aee22f399db46cbff06f
netback: Fixes for delayed copy of tx network packets.

 - Should call net_tx_action_dealloc() even when dealloc ring is
   empty, as there may in any case be work to do on the
   pending_inuse list.
 - Should not exit directly from the middle of the tx_action tasklet,
   as the tx_pending_timer should always be checked and updated at the
   end of the tasklet.

Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
---
 drivers/xen/netback/netback.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff -r 2641f0d17eaa -r 1a97bd686258 drivers/xen/netback/netback.c
--- a/drivers/xen/netback/netback.c     Thu Dec 03 13:53:06 2009 +0000
+++ b/drivers/xen/netback/netback.c     Mon Dec 07 14:14:28 2009 +0000
@@ -1233,8 +1233,7 @@ static void net_tx_action(unsigned long 
        unsigned int data_len;
        int ret, work_to_do;
 
-       if (dealloc_cons != dealloc_prod)
-               net_tx_action_dealloc();
+       net_tx_action_dealloc();
 
        mop = tx_map_ops;
        while (((NR_PENDING_REQS + MAX_SKB_FRAGS) < MAX_PENDING_REQS) &&
@@ -1388,7 +1387,7 @@ static void net_tx_action(unsigned long 
        }
 
        if (mop == tx_map_ops)
-               return;
+               goto out;
 
        ret = HYPERVISOR_grant_table_op(
                GNTTABOP_map_grant_ref, tx_map_ops, mop - tx_map_ops);
@@ -1455,6 +1454,7 @@ static void net_tx_action(unsigned long 
                netif->dev->last_rx = jiffies;
        }
 
+ out:
        if (netbk_copy_skb_mode == NETBK_DELAYED_COPY_SKB &&
            !list_empty(&pending_inuse_head)) {
                struct netbk_tx_pending_inuse *oldest;

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.