mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-06 06:37:59 +00:00
[NET] napi: Call __netif_rx_complete in netif_rx_complete
This patch kills a little bit of code duplication between the two variants of netif_rx_complete. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
e4fd5da39f
commit
b0ba66671a
1 changed files with 12 additions and 15 deletions
|
@ -910,6 +910,17 @@ static inline int netif_rx_reschedule(struct net_device *dev, int undo)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* same as netif_rx_complete, except that local_irq_save(flags)
|
||||||
|
* has already been issued
|
||||||
|
*/
|
||||||
|
static inline void __netif_rx_complete(struct net_device *dev)
|
||||||
|
{
|
||||||
|
BUG_ON(!test_bit(__LINK_STATE_RX_SCHED, &dev->state));
|
||||||
|
list_del(&dev->poll_list);
|
||||||
|
smp_mb__before_clear_bit();
|
||||||
|
clear_bit(__LINK_STATE_RX_SCHED, &dev->state);
|
||||||
|
}
|
||||||
|
|
||||||
/* Remove interface from poll list: it must be in the poll list
|
/* Remove interface from poll list: it must be in the poll list
|
||||||
* on current cpu. This primitive is called by dev->poll(), when
|
* on current cpu. This primitive is called by dev->poll(), when
|
||||||
* it completes the work. The device cannot be out of poll list at this
|
* it completes the work. The device cannot be out of poll list at this
|
||||||
|
@ -920,10 +931,7 @@ static inline void netif_rx_complete(struct net_device *dev)
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
||||||
local_irq_save(flags);
|
local_irq_save(flags);
|
||||||
BUG_ON(!test_bit(__LINK_STATE_RX_SCHED, &dev->state));
|
__netif_rx_complete(dev);
|
||||||
list_del(&dev->poll_list);
|
|
||||||
smp_mb__before_clear_bit();
|
|
||||||
clear_bit(__LINK_STATE_RX_SCHED, &dev->state);
|
|
||||||
local_irq_restore(flags);
|
local_irq_restore(flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -940,17 +948,6 @@ static inline void netif_poll_enable(struct net_device *dev)
|
||||||
clear_bit(__LINK_STATE_RX_SCHED, &dev->state);
|
clear_bit(__LINK_STATE_RX_SCHED, &dev->state);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* same as netif_rx_complete, except that local_irq_save(flags)
|
|
||||||
* has already been issued
|
|
||||||
*/
|
|
||||||
static inline void __netif_rx_complete(struct net_device *dev)
|
|
||||||
{
|
|
||||||
BUG_ON(!test_bit(__LINK_STATE_RX_SCHED, &dev->state));
|
|
||||||
list_del(&dev->poll_list);
|
|
||||||
smp_mb__before_clear_bit();
|
|
||||||
clear_bit(__LINK_STATE_RX_SCHED, &dev->state);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void netif_tx_lock(struct net_device *dev)
|
static inline void netif_tx_lock(struct net_device *dev)
|
||||||
{
|
{
|
||||||
spin_lock(&dev->_xmit_lock);
|
spin_lock(&dev->_xmit_lock);
|
||||||
|
|
Loading…
Add table
Reference in a new issue