Re: [v3 06/26] iommu, x86: No need to migrating irq for VT-d Posted-Interrupts

From: Paolo Bonzini
Date: Tue Dec 23 2014 - 03:47:58 EST




On 23/12/2014 01:37, Zhang, Yang Z wrote:
> I don't quite understand it. If user set an interrupt's affinity to a
> CPU, but he still see the interrupt delivers to other CPUs in host.
> Do you think it is a right behavior?

No, the interrupt is not delivered at all in the host. Normally you'd have:

- interrupt delivered to CPU from host affinity

- VFIO interrupt handler writes to irqfd

- interrupt delivered to vCPU from guest affinity

Here, you just skip the first two steps. The interrupt is delivered to
the thread that is running the vCPU directly, so the host affinity is
bypassed entirely.

... unless you are considering the case where the vCPU is blocked and
the host is processing the posted interrupt wakeup vector. In that case
yes, it would be better to set NDST to a CPU matching the host affinity.
But it would be handled in patch 24. We also have the same problem
with lowest-priority interrupts; likely the host has configured the
interrupt affinity for any CPU. So we can do it later when we add
vector hashing support. In the meanwhile, Feng, please add a FIXME comment.

Does this make sense?

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