Hi
On one of my machines with tickless kernel and plip I get messages :
I bet this is a machine a P4 with Hyperthreading enabled ?
-NOHZ: local_softirq_pending 08
always when using plip (on other machine with tickless kernel and plip I
get no errors). Thebug happens both on 2.6.21 and 2.6.22-rc1
This patch fixes that. Note that plip calls netif_rx neither from hardware
interrupt nor from ksoftirqd, so there is no one who would wake
ksoftirqd then. netif_tx calls only
__raise_softirq_irqoff(NET_RX_SOFTIRQ), which sets softirq bit, but
doesn't wake ksoftirqd.
Dave,
can we please get rid of __raise_softirq_irqoff() at all ? These micro
optimizations are causing more trouble than they are worth.
tglx
Mikulas
Signed-off-by: Mikulas Patocka <mikulas@xxxxxxxxxxxxxxxxxxxxxxxx
--- linux-2.6.22-rc1/net/core/dev.c_ Fri May 18 07:51:01 2007
+++ linux-2.6.22-rc1/net/core/dev.c Fri May 18 07:51:06 2007
@@ -1117,7 +1117,7 @@
dev->quota += dev->weight;
else
dev->quota = dev->weight;
- __raise_softirq_irqoff(NET_RX_SOFTIRQ);
+ raise_softirq_irqoff(NET_RX_SOFTIRQ);
local_irq_restore(flags);
}
EXPORT_SYMBOL(__netif_rx_schedule);