|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] split deallocation from net_tx_action
# HG changeset patch
# User vh249@xxxxxxxxxxxxxxxxxxxx
# Node ID 6feba419cead1e49909c32dc111e2c8dedfac32e
# Parent 7bc4ebdd56605b550cc10360dd8f748f95252f47
split deallocation from net_tx_action
Signed-off-by: Vincent Hanquez <vincent@xxxxxxxxxxxxx>
diff -r 7bc4ebdd5660 -r 6feba419cead
linux-2.6-xen-sparse/drivers/xen/netback/netback.c
--- a/linux-2.6-xen-sparse/drivers/xen/netback/netback.c Mon Jul 25
17:07:31 2005
+++ b/linux-2.6-xen-sparse/drivers/xen/netback/netback.c Mon Jul 25
17:26:32 2005
@@ -490,30 +490,20 @@
netif_schedule_work(netif);
}
-/* Called after netfront has transmitted */
-static void net_tx_action(unsigned long unused)
-{
- struct list_head *ent;
- struct sk_buff *skb;
- netif_t *netif;
- netif_tx_request_t txreq;
- u16 pending_idx;
- NETIF_RING_IDX i;
+inline static void net_tx_action_dealloc(void)
+{
#ifdef CONFIG_XEN_NETDEV_GRANT_TX
gnttab_unmap_grant_ref_t unmap_ops[MAX_PENDING_REQS];
gnttab_unmap_grant_ref_t *gop;
-
- gnttab_map_grant_ref_t map_ops[MAX_PENDING_REQS];
- gnttab_map_grant_ref_t *mop;
#else
multicall_entry_t *mcl;
#endif
+ u16 pending_idx;
PEND_RING_IDX dc, dp;
- unsigned int data_len;
-
-
- if ( (dc = dealloc_cons) == (dp = dealloc_prod) )
- goto skip_dealloc;
+ netif_t *netif;
+
+ dc = dealloc_cons;
+ dp = dealloc_prod;
#ifdef CONFIG_XEN_NETDEV_GRANT_TX
/*
@@ -582,7 +572,28 @@
#endif
}
- skip_dealloc:
+}
+
+/* Called after netfront has transmitted */
+static void net_tx_action(unsigned long unused)
+{
+ struct list_head *ent;
+ struct sk_buff *skb;
+ netif_t *netif;
+ netif_tx_request_t txreq;
+ u16 pending_idx;
+ NETIF_RING_IDX i;
+#ifdef CONFIG_XEN_NETDEV_GRANT_TX
+ gnttab_map_grant_ref_t map_ops[MAX_PENDING_REQS];
+ gnttab_map_grant_ref_t *mop;
+#else
+ multicall_entry_t *mcl;
+#endif
+ unsigned int data_len;
+
+ if ( dealloc_cons != dealloc_prod )
+ net_tx_action_dealloc();
+
#ifdef CONFIG_XEN_NETDEV_GRANT_TX
mop = map_ops;
#else
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] split deallocation from net_tx_action,
Xen patchbot -unstable <=
|
|
|
|
|