Re: [PATCH 2/3] x86: x2apic/cluster: Make use of lowest prioritydelivery mode

From: Ingo Molnar
Date: Mon May 21 2012 - 04:22:43 EST



* Alexander Gordeev <agordeev@xxxxxxxxxx> wrote:

> Currently x2APIC in logical destination mode delivers
> interrupts to a single CPU, no matter how many CPUs were
> specified in the destination cpumask.
>
> This fix enables delivery of interrupts to multiple CPUs by
> bit-ORing Logical IDs of destination CPUs that have matching
> Cluster ID.
>
> Because only one cluster could be specified in a message
> destination address, the destination cpumask is tried for a
> cluster that contains maximum number of CPUs matching this
> cpumask. The CPUs in this cluster are selected to receive the
> interrupts while all other CPUs (in the cpumask) are ignored.

I'm wondering how you tested this. AFAICS current irqbalanced
will create masks but on x2apic only the first CPU is targeted
by the kernel.

So, in theory, prior the patch you should be seeing irqs go to
only one CPU, while after the patch they are spread out amongst
the CPU. If it's using LowestPrio delivery then we depend on the
hardware doing this for us - how does this work out in practice,
are the target CPUs round-robin-ed, with a new CPU for every new
IRQ delivered?

Thanks,

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