static int netif_rx_internal(struct sk_buff *skb);
static int call_netdevice_notifiers_info(unsigned long val,
-@@ -6404,6 +6405,11 @@ void __napi_schedule(struct napi_struct
+@@ -6407,6 +6408,11 @@ void __napi_schedule(struct napi_struct
{
unsigned long flags;
local_irq_save(flags);
____napi_schedule(this_cpu_ptr(&softnet_data), n);
local_irq_restore(flags);
-@@ -6451,6 +6457,11 @@ EXPORT_SYMBOL(napi_schedule_prep);
+@@ -6454,6 +6460,11 @@ EXPORT_SYMBOL(napi_schedule_prep);
*/
void __napi_schedule_irqoff(struct napi_struct *n)
{
____napi_schedule(this_cpu_ptr(&softnet_data), n);
}
EXPORT_SYMBOL(__napi_schedule_irqoff);
-@@ -6712,6 +6723,86 @@ static void init_gro_hash(struct napi_st
+@@ -6715,6 +6726,86 @@ static void init_gro_hash(struct napi_st
napi->gro_bitmask = 0;
}
void netif_napi_add(struct net_device *dev, struct napi_struct *napi,
int (*poll)(struct napi_struct *, int), int weight)
{
-@@ -6735,6 +6826,7 @@ void netif_napi_add(struct net_device *d
+@@ -6738,6 +6829,7 @@ void netif_napi_add(struct net_device *d
#ifdef CONFIG_NETPOLL
napi->poll_owner = -1;
#endif
set_bit(NAPI_STATE_SCHED, &napi->state);
set_bit(NAPI_STATE_NPSVC, &napi->state);
list_add_rcu(&napi->dev_list, &dev->napi_list);
-@@ -6777,6 +6869,7 @@ void __netif_napi_del(struct napi_struct
+@@ -6780,6 +6872,7 @@ void __netif_napi_del(struct napi_struct
if (!test_and_clear_bit(NAPI_STATE_LISTED, &napi->state))
return;
napi_hash_del(napi);
list_del_rcu(&napi->dev_list);
napi_free_frags(napi);
-@@ -6788,53 +6881,19 @@ EXPORT_SYMBOL(__netif_napi_del);
+@@ -6791,53 +6884,19 @@ EXPORT_SYMBOL(__netif_napi_del);
static int napi_poll(struct napi_struct *n, struct list_head *repoll)
{
/* Some drivers may have called napi_schedule
* prior to exhausting their budget.
*/
-@@ -11288,6 +11347,10 @@ static int __init net_dev_init(void)
+@@ -11291,6 +11350,10 @@ static int __init net_dev_init(void)
sd->backlog.weight = weight_p;
}