[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |