From: Ben Pfaff Date: Tue, 10 Jun 2008 21:41:04 +0000 (-0700) Subject: Fix "NOHZ: local_softirq_pending 08" message. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4a513559a8086cc68f0434cae773acbc36313709;p=openvswitch Fix "NOHZ: local_softirq_pending 08" message. Only call netif_rx within an interrupt. Outside an interrupt, netif_rx_in has to be used. --- diff --git a/datapath/dp_dev.c b/datapath/dp_dev.c index 5ac74d12..48981376 100644 --- a/datapath/dp_dev.c +++ b/datapath/dp_dev.c @@ -29,7 +29,10 @@ int dp_dev_recv(struct net_device *netdev, struct sk_buff *skb) struct dp_dev *dp_dev = dp_dev_priv(netdev); skb->pkt_type = PACKET_HOST; skb->protocol = eth_type_trans(skb, netdev); - netif_rx(skb); + if (in_interrupt()) + netif_rx(skb); + else + netif_rx_ni(skb); netdev->last_rx = jiffies; dp_dev->stats.rx_packets++; dp_dev->stats.rx_bytes += len;