Re: [PATCH v2] PCI: vmd: Clear PCI_INTERRUPT_LINE for VMD sub-devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 12 Sep 2024 11:10:21 -0700
Dan Williams <dan.j.williams@xxxxxxxxx> wrote:

> Manivannan Sadhasivam wrote:
> [..]
> > I don't think the issue should be constrained to VMD only. Based on
> > my conversation with Nirmal [1], I understood that it is SPDK that
> > makes wrong assumption if the device's PCI_INTERRUPT_LINE is
> > non-zero (and I assumed that other application could do the same).  
> 
> I am skeptical one can find an example of an application that gets
> similarly confused. SPDK is not a typical consumer of PCI device
> information.
> 
> > In that case, how it can be classified as the "idiosyncracy" of
> > VMD?  
> 
> If VMD were a typical PCIe switch, firmware would have already fixed
> up these values. In fact this problem could likely also be fixed in
> platform firmware, but the history of VMD is to leak workaround after
> workaround into the kernel.

This is not VMD leaking workaround in kernel, rather the patch is
trying to keep fix limited to VMD driver. I tried over 10 different
NVMes and only 1 vendor has PCI_INTERRUPT_LINE register set to 0xFF.
The platform firmware doesn't change that with or without VMD.

> 
> > SPDK is not tied to VMD, isn't it?  
> 
> It is not, but SPDK replaces significant pieces of the kernel with
> userspace drivers. In this respect a VMD driver quirk in SPDK is no
> different than the NVME driver quirks it already needs to carry in its
> userspace NVME driver.
> 
> Now, if you told me that the damage was more widespread than a project
> that is meant to replace kernel drivers, then a kernel fix should be
> explored. Until then, let SPDK carry the quirk until it becomes clear
> that there are practical examples of wider damage.





[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux