Purpose of irqbalance

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


On Wed, Sep 14, 2016 at 06:52:23PM +0530, Sriram V wrote:
> Hi,
> Why is it that setting the smp_affinity alone is not sufficient for
> irq to be routed to other cpus?
> I tried doing that, but still the irq is only routed to cpu0.
> In otherwords, why do we need a app to make the routing? how does
> irqbalance app does that?
> Regards,
> Sriram
Thats really two separate questions:

1) How does the irq smp_affinity setting affect irq routing

2) Why do we use irqbalance to handle affinity setting

The answer to (1) is that the smp_affinity mask provides a user defined set of
elligible cpus that can handle the corresponding irq.  For instance, setting irq
10's smp_affinity to 3 (0x11) means that cpu 0 or cpu1 is allowed to handle irq
10's interrupt.  The cpu which is actually selected is done by the hardware, and
usually amounts to the lowest numbered cpu within the elligible set that isn't
already handling an interrupt (which may explain, depending on how you set
smp_affinity) why cpu0 is still handling the interrupt your interested in.

The answer to (2) is convienience.  Manually setting smp affinity for all irqs
is a tedious process as well as an ongoing one (consider hotplug or sriov use
cases).  Irq balance can make adjustments to smp affinity to best balance irq
workload according to different policies as irqs are allocated and freed.

Hope that helps

> _______________________________________________
> irqbalance mailing list
> irqbalance at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/irqbalance

[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux