All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v8 0/5] Fix PF/VF dependency issue
@ 2019-09-05 19:31 Bjorn Helgaas
  2019-09-05 19:31 ` [PATCH 1/5] PCI/ATS: Handle sharing of PF PRI Capability with all VFs Bjorn Helgaas
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Bjorn Helgaas @ 2019-09-05 19:31 UTC (permalink / raw)
  To: Kuppuswamy Sathyanarayanan
  Cc: Ashok Raj, Keith Busch, linux-pci, linux-kernel, Bjorn Helgaas

From: Bjorn Helgaas <bhelgaas@google.com>

The current implementation of ATS, PASID, and PRI does not handle VF
dependencies correctly.  These are essentially Kuppuswamy's patches; I
reordered and tweaked them slightly.

Please treat this as a proposal, not a done deal, and post a v9 with any
changes needed.

Changes since v7:
 * Moved PRI & PASID capability offset caching to last since they're just
   optimizations
 * Cached offsets at first use instead of adding _init() functions
 * Dropped complicated pci_prg_resp_pasid_required() #ifdefs by just
   searching for the capability again
 * Dropped EA/VF validation since it only enforces spec language without
   fixing any known issues

Changes since v6:
 * Removed locking interfaces used in v6.
 * Made necessary changes to PRI/PASID enable/disable calls to allow
   register changes only for PF.

Changes since v5:
 * Created new patches for PRI/PASID capability caching.
 * Removed individual locks (pri_lock, pasid_lock) and added common
   resource lock to synchronize PRI/PASID updates between PF/VF.
 * Addressed comments from Bjorn Helgaas.

Changes since v4:
 * Defined empty functions for pci_pri_init() and pci_pasid_init() for cases
   where CONFIG_PCI_PRI and CONFIG_PCI_PASID are not enabled.

Changes since v3:
 * Fixed critical path (lock context) in pci_restore_*_state functions.

Changes since v2:
 * Added locking mechanism to synchronize accessing PF registers in VF.
 * Removed spec compliance checks in patches.
 * Addressed comments from Bjorn Helgaas.

Changes since v1:
 * Added more details about the patches in commit log.
 * Removed bulk spec check patch.
 * Addressed comments from Bjorn Helgaas.


Link: https://lore.kernel.org/r/cover.1567029860.git.sathyanarayanan.kuppuswamy@linux.intel.com v7

Kuppuswamy Sathyanarayanan (5):
  PCI/ATS: Handle sharing of PF PRI Capability with all VFs
  PCI/ATS: Handle sharing of PF PASID Capability with all VFs
  PCI/ATS: Disable PF/VF ATS service independently
  PCI/ATS: Cache PRI Capability offset
  PCI/ATS: Cache PASID Capability offset

 drivers/pci/ats.c   | 153 +++++++++++++++++++++++++++-----------------
 include/linux/pci.h |   3 +-
 2 files changed, 96 insertions(+), 60 deletions(-)

-- 
2.23.0.187.g17f5b7556c-goog


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-09-27 10:30 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-09-05 19:31 [PATCH v8 0/5] Fix PF/VF dependency issue Bjorn Helgaas
2019-09-05 19:31 ` [PATCH 1/5] PCI/ATS: Handle sharing of PF PRI Capability with all VFs Bjorn Helgaas
2019-09-05 19:31 ` [PATCH 2/5] PCI/ATS: Handle sharing of PF PASID " Bjorn Helgaas
2019-09-05 19:31 ` [PATCH 3/5] PCI/ATS: Disable PF/VF ATS service independently Bjorn Helgaas
2019-09-05 19:31 ` [PATCH 4/5] PCI/ATS: Cache PRI Capability offset Bjorn Helgaas
2019-09-05 19:31 ` [PATCH 5/5] PCI/ATS: Cache PASID " Bjorn Helgaas
2019-09-27 10:30 ` [PATCH v8 0/5] Fix PF/VF dependency issue Bjorn Helgaas

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.