From: jgunthorpe@obsidianresearch.com (Jason Gunthorpe)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v1 5/5] pci: keystone: add pcie driver based on designware core driver
Date: Tue, 20 May 2014 11:42:26 -0600 [thread overview]
Message-ID: <20140520174226.GC5130@obsidianresearch.com> (raw)
In-Reply-To: <CAErSpo667uWybiHOh4tVQDh_JFpF0EbvxKwo_GQm+B1-wMtT1Q@mail.gmail.com>
On Tue, May 20, 2014 at 11:22:22AM -0600, Bjorn Helgaas wrote:
> On Tue, May 20, 2014 at 11:02 AM, Jason Gunthorpe
> <jgunthorpe@obsidianresearch.com> wrote:
> > On Fri, May 16, 2014 at 08:29:56PM +0000, Karicheri, Muralidharan wrote:
> >
> >> But pcie_bus_configure_settings just make sure the mrrs for a device
> >> is not greater than the max payload size.
> >
> > Not quite, it first scans the network checking the Maximum Payload Size
> > Supported (MPSS) for each device, and chooses the highest supported by
> > all as the MPS for all.
>
> The "performance" setting, e.g., "pci=pcie_bus_perf", adds a few
> wrinkles by setting MRRS in ways that allow some devices to have
> larger MPS than others. I don't think this is exactly what was
> envisioned in the spec, and it is not guaranteed to work if there is
> peer-to-peer DMA. This isn't documented very well; the best I know of
> is the changelogs for:
>
> a1c473aa11e6 pci: Clamp pcie_set_readrq() when using "performance" settings
> b03e7495a862 PCI: Set PCI-E Max Payload Size on fabric
Neat, and does pretty much confirm that setting the host bridge MPSS
properly is necessary to support all drivers, particularly the ones
that call pcie_set_readrq with any old value.
The 'performance' setting is a bit scary, it isn't just peer-to-peer
DMA that would be impacted but also CPU initiated burst writes. Eg
InfiniBand drivers burst a WQE to the NIC via the CPU. The MPS on the
root port bridge is used to segment the write. Probably not a problem
in practice because I think this is rare, and even rarer that a burst
would be > 128 bytes - but as you say, not really what the spec
intended..
Jason
next prev parent reply other threads:[~2014-05-20 17:42 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-15 16:01 [PATCH v1 0/5] Add Keystone PCIe controller driver Murali Karicheri
2014-05-15 16:01 ` [PATCH v1 1/5] ARM: keystone: add pcie related options Murali Karicheri
2014-05-16 0:27 ` Jingoo Han
2014-05-16 14:36 ` Karicheri, Muralidharan
2014-05-15 16:01 ` [PATCH v1 2/5] pci: designware: enhancements to support keystone pcie Murali Karicheri
2014-05-16 2:40 ` Jingoo Han
2014-05-16 20:46 ` Karicheri, Muralidharan
2014-05-16 22:15 ` Kumar Gala
2014-05-16 22:49 ` Murali Karicheri
2014-05-15 16:01 ` [PATCH v1 3/5] phy: pci serdes phy driver for keystone Murali Karicheri
2014-05-15 16:14 ` Arnd Bergmann
2014-05-23 17:14 ` Murali Karicheri
2014-05-23 19:23 ` Arnd Bergmann
2014-05-27 16:46 ` Murali Karicheri
2014-05-27 18:36 ` Arnd Bergmann
2014-06-02 6:16 ` Kishon Vijay Abraham I
2014-06-02 6:45 ` Jingoo Han
2014-06-02 14:28 ` Murali Karicheri
2014-05-15 16:01 ` [PATCH v1 4/5] pci: dw: add common functions to support old hw based pci driver Murali Karicheri
2014-05-16 20:47 ` Karicheri, Muralidharan
2014-05-15 16:01 ` [PATCH v1 5/5] pci: keystone: add pcie driver based on designware core driver Murali Karicheri
2014-05-15 16:23 ` Arnd Bergmann
2014-05-15 17:45 ` Murali Karicheri
2014-05-15 18:20 ` Arnd Bergmann
2014-05-15 18:39 ` Jason Gunthorpe
2014-05-15 20:04 ` Murali Karicheri
2014-05-15 20:52 ` Jason Gunthorpe
2014-05-16 20:29 ` Karicheri, Muralidharan
2014-05-20 17:02 ` Jason Gunthorpe
2014-05-20 17:22 ` Bjorn Helgaas
2014-05-20 17:42 ` Jason Gunthorpe [this message]
2014-05-21 23:32 ` Murali Karicheri
2014-05-22 0:55 ` Jason Gunthorpe
[not found] ` <537E7823.5060609@ti.com>
2014-05-26 23:31 ` Jason Gunthorpe
2014-05-16 20:26 ` Murali Karicheri
2014-05-19 12:06 ` Arnd Bergmann
2014-05-19 21:10 ` Murali Karicheri
2014-05-20 7:55 ` Arnd Bergmann
2014-05-20 17:17 ` Bjorn Helgaas
2014-05-29 15:34 ` Murali Karicheri
2014-05-15 16:28 ` Arnd Bergmann
2014-05-16 22:44 ` Murali Karicheri
2014-05-19 12:12 ` Arnd Bergmann
2014-05-16 20:47 ` Karicheri, Muralidharan
2014-05-16 0:48 ` [PATCH v1 0/5] Add Keystone PCIe controller driver Jingoo Han
2014-05-16 20:40 ` Karicheri, Muralidharan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140520174226.GC5130@obsidianresearch.com \
--to=jgunthorpe@obsidianresearch.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).