LKML Archive on lore.kernel.org
 help / Atom feed
* [PATCH v7 0/4] Add parameter for disabling ACS redirection for P2P
@ 2018-07-17 17:02 Logan Gunthorpe
  2018-07-17 17:02 ` [PATCH v7 1/4] PCI: Make specifying PCI devices in kernel parameters reusable Logan Gunthorpe
                   ` (4 more replies)
  0 siblings, 5 replies; 21+ messages in thread
From: Logan Gunthorpe @ 2018-07-17 17:02 UTC (permalink / raw)
  To: linux-kernel, linux-pci, linux-doc
  Cc: Stephen Bates, Christoph Hellwig, Bjorn Helgaas, Jonathan Corbet,
	Ingo Molnar, Thomas Gleixner, Paul E. McKenney, Marc Zyngier,
	Kai-Heng Feng, Frederic Weisbecker, Dan Williams,
	Jérôme Glisse, Benjamin Herrenschmidt, Alex Williamson,
	Christian König, Matthew Wilcox, Logan Gunthorpe

Changes since v6:
* Fixed order of operations for device specific disable function as
  noticed by Alex
* Rebased onto v4.18-rc5 (no conflicts)


Changes since v5:
* Add a quirk to handle the Intel SPT PCH case (as pointed out by Alex)
* Warn in the case that we try to disable ACS redirect on a device
  that doesn't have the ACS capability (also suggested by Alex)
* Collect reviewed-by tag from Alex
* Rebased onto v4.18-rc4 (no conflicts)

Changes since v4:
* Fixed a couple documentation mistakes spotted by Randy

Changes since v3:
* Removed some of the cruft that was copied from the resource_alignment
  paramater (per Alex)
* A number of docuemntation fixes as noticed by Alex and Willy

Changes since v2:
* Rebased onto v4.18-rc1 (no conflicts)
* Minor tweaks to the documentation per Andy
* Removed the "path:" prefix and use the path parsing code
  for simple devices (as it works the same). Per a suggestion from Alex

Changes since v1:
* Reworked pci_dev_str_match_path using strrchr as suggested by Alex
* Collected Christian's Acks

--

Hi,

As discussed in our PCI P2PDMA series, we'd like to add a kernel
parameter for selectively disabling ACS redirection for select
bridges. Seeing this turned out to be a small series in itself, we've
decided to send this separately from the P2P work.

This series generalizes the code already done for the resource_alignment
option that already exists. The first patch creates a helper function
to match PCI devices against strings based on the code that already
existed in pci_specified_resource_alignment().

The second patch expands the new helper to optionally take a path of
PCI devfns. This is to address Alex's renumbering concern when using
simple bus-devfns. The implementation is essentially how he described it and
similar to the Intel VT-d spec (Section 8.3.1).

The final patch adds the disable_acs_redir kernel parameter which takes
a list of PCI devices and will disable the ACS P2P Request Redirect,
ACS P2P Completion Redirect and ACS P2P Egress Control bits for the
selected devices. This allows P2P traffic between selected bridges and
seeing it's done at boot, before the IOMMU groups will be created, the
groups will match the security provided by ACS.

Thanks,

Logan

--

Logan Gunthorpe (4):
  PCI: Make specifying PCI devices in kernel parameters reusable
  PCI: Allow specifying devices using a base bus and path of devfns
  PCI: Introduce disable_acs_redir quirk
  PCI: Introduce the disable_acs_redir parameter

 Documentation/admin-guide/kernel-parameters.txt |  41 +++-
 drivers/pci/pci.c                               | 310 +++++++++++++++++++-----
 drivers/pci/quirks.c                            |  78 +++++-
 include/linux/pci.h                             |   5 +
 4 files changed, 361 insertions(+), 73 deletions(-)

--
2.11.0

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

end of thread, back to index

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-17 17:02 [PATCH v7 0/4] Add parameter for disabling ACS redirection for P2P Logan Gunthorpe
2018-07-17 17:02 ` [PATCH v7 1/4] PCI: Make specifying PCI devices in kernel parameters reusable Logan Gunthorpe
2018-07-17 17:02 ` [PATCH v7 2/4] PCI: Allow specifying devices using a base bus and path of devfns Logan Gunthorpe
2018-07-17 17:02 ` [PATCH v7 3/4] PCI: Introduce disable_acs_redir quirk Logan Gunthorpe
2018-07-17 17:48   ` Alex Williamson
2018-07-17 17:02 ` [PATCH v7 4/4] PCI: Introduce the disable_acs_redir parameter Logan Gunthorpe
2018-07-17 17:48   ` Alex Williamson
2018-07-17 17:49     ` Logan Gunthorpe
2018-07-17 17:57       ` Stephen  Bates
2018-07-17 20:39 ` lspci: Display path to device Matthew Wilcox
2018-07-17 20:51   ` Logan Gunthorpe
2018-07-17 21:00   ` Bjorn Helgaas
2018-07-17 21:46     ` Matthew Wilcox
2018-08-09 23:48   ` Matthew Wilcox
2018-08-10  9:35   ` Martin Mares
2018-08-10 10:30     ` Martin Mares
2018-08-10 14:56       ` Matthew Wilcox
2018-08-12  9:28         ` Martin Mares
2018-08-12 10:31           ` Matthew Wilcox
2018-08-12 10:51             ` Martin Mares
2018-08-13 15:55             ` Logan Gunthorpe

LKML Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/lkml/0 lkml/git/0.git
	git clone --mirror https://lore.kernel.org/lkml/1 lkml/git/1.git
	git clone --mirror https://lore.kernel.org/lkml/2 lkml/git/2.git
	git clone --mirror https://lore.kernel.org/lkml/3 lkml/git/3.git
	git clone --mirror https://lore.kernel.org/lkml/4 lkml/git/4.git
	git clone --mirror https://lore.kernel.org/lkml/5 lkml/git/5.git
	git clone --mirror https://lore.kernel.org/lkml/6 lkml/git/6.git
	git clone --mirror https://lore.kernel.org/lkml/7 lkml/git/7.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 lkml lkml/ https://lore.kernel.org/lkml \
		linux-kernel@vger.kernel.org linux-kernel@archiver.kernel.org
	public-inbox-index lkml


Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel


AGPL code for this site: git clone https://public-inbox.org/ public-inbox