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?