Jukka reported about the following warning:
"NOHZ: local_softirq_pending 08"
I remember this warning and we had a similar issue when using workqueues
and calling netif_rx. See commit 5ff3fec ("mac802154: fix NOHZ
local_softirq_pending 08 warning").
This warning occurs when calling "netif_rx" inside the wrong context
(non softirq context). The net core api offers "netif_rx_ni" to call
netif_rx inside the correct softirq context.
Reported-by: Jukka Rissanen <[email protected]>
Cc: Jukka Rissanen <[email protected]>
Signed-off-by: Alexander Aring <[email protected]>
---
net/bluetooth/6lowpan.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/bluetooth/6lowpan.c b/net/bluetooth/6lowpan.c
index d85af23..9e9cca3 100644
--- a/net/bluetooth/6lowpan.c
+++ b/net/bluetooth/6lowpan.c
@@ -263,7 +263,7 @@ static int give_skb_to_upper(struct sk_buff *skb, struct net_device *dev)
if (!skb_cp)
return NET_RX_DROP;
- return netif_rx(skb_cp);
+ return netif_rx_ni(skb_cp);
}
static int iphc_decompress(struct sk_buff *skb, struct net_device *netdev,
--
2.6.1
Hi Alex,
> Jukka reported about the following warning:
>
> "NOHZ: local_softirq_pending 08"
>
> I remember this warning and we had a similar issue when using workqueues
> and calling netif_rx. See commit 5ff3fec ("mac802154: fix NOHZ
> local_softirq_pending 08 warning").
>
> This warning occurs when calling "netif_rx" inside the wrong context
> (non softirq context). The net core api offers "netif_rx_ni" to call
> netif_rx inside the correct softirq context.
>
> Reported-by: Jukka Rissanen <[email protected]>
> Cc: Jukka Rissanen <[email protected]>
> Signed-off-by: Alexander Aring <[email protected]>
> ---
> net/bluetooth/6lowpan.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
patch has been applied to bluetooth-next tree.
Regards
Marcel
I have verified that this works.
Acked-by: Jukka Rissanen <[email protected]>
Cheers,
Jukka
On ti, 2015-10-27 at 08:35 +0100, Alexander Aring wrote:
> Jukka reported about the following warning:
>
> "NOHZ: local_softirq_pending 08"
>
> I remember this warning and we had a similar issue when using workqueues
> and calling netif_rx. See commit 5ff3fec ("mac802154: fix NOHZ
> local_softirq_pending 08 warning").
>
> This warning occurs when calling "netif_rx" inside the wrong context
> (non softirq context). The net core api offers "netif_rx_ni" to call
> netif_rx inside the correct softirq context.
>
> Reported-by: Jukka Rissanen <[email protected]>
> Cc: Jukka Rissanen <[email protected]>
> Signed-off-by: Alexander Aring <[email protected]>
> ---
> net/bluetooth/6lowpan.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/net/bluetooth/6lowpan.c b/net/bluetooth/6lowpan.c
> index d85af23..9e9cca3 100644
> --- a/net/bluetooth/6lowpan.c
> +++ b/net/bluetooth/6lowpan.c
> @@ -263,7 +263,7 @@ static int give_skb_to_upper(struct sk_buff *skb, struct net_device *dev)
> if (!skb_cp)
> return NET_RX_DROP;
>
> - return netif_rx(skb_cp);
> + return netif_rx_ni(skb_cp);
> }
>
> static int iphc_decompress(struct sk_buff *skb, struct net_device *netdev,