|
@@ -2517,6 +2517,7 @@ int netif_rx(struct sk_buff *skb)
|
|
|
struct rps_dev_flow voidflow, *rflow = &voidflow;
|
|
struct rps_dev_flow voidflow, *rflow = &voidflow;
|
|
|
int cpu;
|
|
int cpu;
|
|
|
|
|
|
|
|
|
|
+ preempt_disable();
|
|
|
rcu_read_lock();
|
|
rcu_read_lock();
|
|
|
|
|
|
|
|
cpu = get_rps_cpu(skb->dev, skb, &rflow);
|
|
cpu = get_rps_cpu(skb->dev, skb, &rflow);
|
|
@@ -2526,6 +2527,7 @@ int netif_rx(struct sk_buff *skb)
|
|
|
ret = enqueue_to_backlog(skb, cpu, &rflow->last_qtail);
|
|
ret = enqueue_to_backlog(skb, cpu, &rflow->last_qtail);
|
|
|
|
|
|
|
|
rcu_read_unlock();
|
|
rcu_read_unlock();
|
|
|
|
|
+ preempt_enable();
|
|
|
}
|
|
}
|
|
|
#else
|
|
#else
|
|
|
{
|
|
{
|