All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Cameron <jonathan.cameron@huawei.com>
To: <linux-pci@vger.kernel.org>
Cc: Logan Gunthorpe <logang@deltatee.com>, <bhelgaas@google.com>,
	<lorenzo.pieralisi@arm.com>, Eric Wehage <Eric.Wehage@huawei.com>,
	<linuxarm@huawei.com>
Subject: [RFC] Proposed PCI ECR for description of Advanced Peer to Peer Capabilities
Date: Mon, 10 Dec 2018 11:56:53 +0000	[thread overview]
Message-ID: <20181210115653.0000615a@huawei.com> (raw)

Hi All,

This is perhaps a somewhat unusual RFC as it's to ask for feedback on an ECR
that is currently under discussion in the PCI SIG.  That ECR, at least partly,
came out of the issues highlighted during the discussion of P2PDMA.  In
that patch set, p2pdma is only allowed if there is a switch between the
devices involved ensuring the path does not pass through a root port.
Put simply there is no way to know if a root complex will allow p2p or not.

So we are asking for feedback at a stage where modifications to the
proposal can be made. Eric has agreed to this being shared with mailing list
to hopefully get such feedback.  Note this is under active discussion within
the SIG so inputs in that forum also welcome.

I would recommend reading the ECR and presentation for more details.
Anyone who can't get to Google Drive, email me and I'll send a copy directly.

ECR: https://drive.google.com/open?id=1X08pfyjkNwSfpTVBuiut90ajxBZd7BXg
Slides: https://drive.google.com/open?id=11d3egA8x91d99-QqfYGZ-MxLGrHpJHCK

My summary probably won't be great, but I'll give it a go to persuade people
to look at the real docs!

Problem Statement:

Linux does not generally enable Peer to Peer because (amongst other reasons)
it does not know which Root Complexes support Peer to Peer.

* Some Root Complexes do not support Peer to Peer
* Some Root Complexes only support Posted Peer to Peer
* Some Root Complexes only support Peer to Peer within one PCIe Segment
* Some Root Complexes only support Address Decode Peer to Peer (no ID routing)
* Some Root Complexes may not support Peer to Peer from Integrated End Points

Related other issue
* MPS must be programmed the same across all devices supporting P2P
* Hot plugged devices might require a smaller MPS than was programmed.

Solution:
* New extended capability and control (though only one bit in the control)
* Advertise what a Peer to Peer Root Port and Switch Down Stream ports can do.
* Define packet splitting scheme for MPS mismatches.
	- Rules on how this must be done if supported.

All feedback welcome.  Let's make sure we get this right.

Thanks,

Jonathan Cameron
Huawei


             reply	other threads:[~2018-12-10 11:57 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-10 11:56 Jonathan Cameron [this message]
2018-12-10 17:20 ` [RFC] Proposed PCI ECR for description of Advanced Peer to Peer Capabilities Logan Gunthorpe
2018-12-10 18:02   ` Eric Wehage
2018-12-10 19:01     ` Logan Gunthorpe
2018-12-10 19:06       ` Stephen  Bates
2018-12-10 19:36       ` Eric Wehage
2018-12-10 19:39         ` Logan Gunthorpe
2018-12-13  9:23           ` Jonathan Cameron
2018-12-13 16:51             ` Logan Gunthorpe
2018-12-10 19:21 ` Alexander Duyck

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=20181210115653.0000615a@huawei.com \
    --to=jonathan.cameron@huawei.com \
    --cc=Eric.Wehage@huawei.com \
    --cc=bhelgaas@google.com \
    --cc=linux-pci@vger.kernel.org \
    --cc=linuxarm@huawei.com \
    --cc=logang@deltatee.com \
    --cc=lorenzo.pieralisi@arm.com \
    /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 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.