Re: [PATCH RFC 1/1] genirq: Make threaded handler use irq affinity for managed interrupt

From: Marc Zyngier
Date: Fri Dec 20 2019 - 11:16:40 EST


On 2019-12-20 15:38, John Garry wrote:

I've already done something experimental for the driver to manage the
affinity, and performance is generally much better:


https://github.com/hisilicon/kernel-dev/commit/e15bd404ed1086fed44da34ed3bd37a8433688a7

But I still think it's wise to only consider managed interrupts for now.

Sure. We've lived with it so far, we can make it last a bit longer... ;-)


JFYI, about NVMe CPU lockup issue, there are 2 works on going here:


https://lore.kernel.org/linux-nvme/20191209175622.1964-1-kbusch@xxxxxxxxxx/T/#t



https://lore.kernel.org/linux-block/20191218071942.22336-1-ming.lei@xxxxxxxxxx/T/#t

I've also managed to trigger some of them now that I have access to
a decent box with nvme storage.

I only have 2x NVMe SSDs when this occurs - I should not be hitting this...

Same configuration here. And the number of interrupts is pretty
low (less that 20k/s per CPU), so I doubt this is interrupt related.

Out of curiosity, have you tried
with the SMMU disabled? I'm wondering whether we hit some livelock
condition on unmapping buffers...

No, but I can give it a try. Doing that should lower the CPU usage,
though, so maybe masks the issue - probably not.

I wonder whether we could end-up in some form of unmap storm on
completion, with a CPU being starved trying to insert its TLBI
command into the queue.

Anyway, more digging in perspective.

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