Re: irq load balancing

From: Stephen Hemminger
Date: Wed Sep 12 2007 - 07:51:38 EST


On Tue, 11 Sep 2007 16:18:15 -0700
"Venkat Subbiah" <venkats@xxxxxxxxxxx> wrote:

> Most of the load in my system is triggered by a single ethernet IRQ. Essentially the IRQ schedules a tasklet and most of the work is done in the taskelet which is scheduled in the IRQ. From what I read looks like the tasklet would be executed on the same CPU on which it was scheduled. So this means even in an SMP system it will be one processor which is overloaded.

The network device should use NAPI and process many packets per IRQ.
What device driver is it?

> So will using the user space IRQ loadbalancer really help? What I am doubtful about is that the user space load balance comes along and changes the affinity once in a while. But really what I need is every interrupt to go to a different CPU in a round robin fashion.

Userspace IRQ balancer detects network devices and intentionally does
not balance them. See: http://irqbalance.org/documentation.php

> Looks like the APIC can distribute IRQ's dynamically? Is this supported in the kernel and any config or proc interface to turn this on/off.

Network device IRQ distribution usually is bad, because it causes cache
thrashing.
>
> Thx,
> Venkat
>

-
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/