Re: [PATCH v3 2/2] irqchip/gic-v3-its: Balance initial LPI affinity across CPUs

From: Marc Zyngier
Date: Mon Mar 16 2020 - 09:14:28 EST


On 2020-03-16 13:02, John Garry wrote:

Hi John,

Hi Marc,

+ int this_count = its_read_lpi_count(d, tmp);

Not sure if it's intentional, but now there seems to be a subtle
difference to what Thomas described for non-managed interrupts - for
non-managed interrupts, x86 selects the CPU based on the total
interrupt load per CPU (or, more specifically, lowest vector
allocation count), and not just the non-managed load. Or maybe I
misread it.

So far, I'm trying to keep the two allocation paths separate, as the
two systems I have access to have very different behaviours: D05 has
no managed interrupts to speak of, and my top-secret work machine
has almost no unmanaged interrupts, so the two sets are almost
completely disjoint.

Also, it all depends on the interrupt allocation order, and whether
something will rebalance the non-managed interrupts at a later time.
At least, these two patches make it easy to alter the placement policy
(the behaviour you describe above is a 2 line change).

Anyway, we can test this now for NVMe with its managed interrupts.

Looking forward to hearing from you!

M.
--
Jazz is not dead. It just smells funny...