at 10:56 AM, Jinhao Fan <fanjinhao...@ict.ac.cn> wrote:

> at 2:07 AM, Keith Busch <kbu...@kernel.org> wrote:
> 
>> MSI-x uses MMIO for masking, so there's no need for an NVMe specific way to
>> mask these interrupts. You can just use the generic PCIe methods to clear the
>> vector's enable bit. But no NVMe driver that I know of is making use of these
>> either, though it should be possible to make linux start doing that.
> 
> I believe we need to handle MSI-x masking in the NVMe controller after we
> switch to irqfd. Before that QEMU’s MSI-x emulation logic helps us handle
> masked interrupts. But with irqfd, we bypass QEMU’s MSI-x and let the kernel
> send the interrupt directly. Therefore qemu-nvme needs to do some
> bookkeeping about which interrupt vectors are masked.
> msix_set_vector_notifiers helps us do that.

But as no NVMe driver makes use of MSI-x interrupt masking, is it OK if we
just leave MSI-x masking support broken when irqfd is enabled?

Reply via email to