On Wed, Mar 06, 2019 at 02:11:13PM -0800, sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx wrote: > From: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx> > > Current implementation of ATS, PASID, PRI does not handle the PF/VF > dependencies as defined in PCIe spec r4.0. Following patches > addresses this issue. Some of these patches probably fix issues, like making PASID work correctly on VFs. But that needs to be made explicit in the commit logs. The current commit logs read more like "make XYZ follow the spec", and that's not really what we need to know. The commit log needs to tell us why we need the change, not just what the spec says. For example, maybe VFs can't use PASID because Linux incorrectly tries to use the PASID capability on the VF when it should be using the capability on the PF. The commit log should say that explicitly and also say what the current behavior is, e.g., does it cause IOMMU faults, does it cause data corruption, does some DMA mapping interface called by the VF driver fail when it shouldn't, etc? Bjorn > Kuppuswamy Sathyanarayanan (5): > PCI/IOV: Add support to verify PF/VF spec compliance > PCI/ATS: Fix PRI PF/VF dependency issues > PCI/ATS: Fix PASID PF/VF dependency issues > PCI/ATS: For PF/VF skip ATS initalization if spec check failed > PCI/ATS: Fix ATS PF/VF dependency issues > > .../admin-guide/kernel-parameters.txt | 2 + > drivers/pci/ats.c | 129 ++++- > drivers/pci/iov.c | 468 ++++++++++++++++++ > drivers/pci/pci.c | 2 + > drivers/pci/pci.h | 6 + > include/linux/pci.h | 33 +- > include/uapi/linux/pci_regs.h | 15 +- > 7 files changed, 639 insertions(+), 16 deletions(-) > > -- > 2.20.1 >