Re: [BUG] local_softirq_pending storm

From: Mikulas Patocka
Date: Wed May 23 2007 - 16:54:20 EST


On Mon, 21 May 2007, Heiko Carstens wrote:

On Sun, May 20, 2007 at 09:29:49PM +0200, Thomas Gleixner wrote:
On Sun, 2007-05-20 at 21:18 +0200, Heiko Carstens wrote:
Hmm, that's a different problem than the 0x22 which shows up on
hyperthreading enabled P4 systems. Are you using plip ?

No, after all it turned out that is caused by an IBM internal module.
Just ignore me, sorry for the noise :)

Just in case you're interested: I just looked into it and it turned
out that this module was calling netif_rx() from process context,
just like plip. Changing it to netif_rx_ni() fixes it.

Thanks, that's a good pointer. You should have cc'ed Dave Miller and the
guy who found this plip thingy. Care to resend ?

No problem. Here we go, even though I doubt that netif_rx_ni() is what
people want for plip. Dunno...

netif_rx_ni calls softirq synchronously, am I right? That would probably hurt plip. I can try it if someone will be interested in it, but I doubt it is good solution for any network interfaces except tun.

BTW. does in_interrupt() have high cost on some high-performance architectures? Would it be possible to just add if (!in_interrupt()) wakeup_softirqd(); to netif_rx()?

Mikulas
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/