nvdimm.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Logan Gunthorpe <logang@deltatee.com>
To: Bjorn Helgaas <helgaas@kernel.org>
Cc: "Jens Axboe" <axboe@kernel.dk>,
	"Alex Williamson" <alex.williamson@redhat.com>,
	linux-nvdimm@lists.01.org, linux-rdma@vger.kernel.org,
	linux-pci@vger.kernel.org, "Jonathan Corbet" <corbet@lwn.net>,
	linux-kernel@vger.kernel.org, linux-nvme@lists.infradead.org,
	linux-block@vger.kernel.org, "Jérôme Glisse" <jglisse@redhat.com>,
	"Jason Gunthorpe" <jgg@mellanox.com>,
	"Christian König" <christian.koenig@amd.com>,
	"Benjamin Herrenschmidt" <benh@kernel.crashing.org>,
	"Bjorn Helgaas" <bhelgaas@google.com>,
	"Max Gurtovoy" <maxg@mellanox.com>,
	"Christoph Hellwig" <hch@lst.de>
Subject: Re: [PATCH v6 06/13] PCI/P2PDMA: Add P2P DMA driver writer's documentation
Date: Fri, 21 Sep 2018 12:03:12 -0600	[thread overview]
Message-ID: <e9739430-b238-2078-a51f-d76bae5342d1@deltatee.com> (raw)
In-Reply-To: <20180921164126.GI224714@bhelgaas-glaptop.roam.corp.google.com>

On 2018-09-21 10:41 AM, Bjorn Helgaas wrote:
>> +away, the one returned will be chosen at random. This function returns the PCI
> 
> s/the one returned will be chosen at random/one will be chosen
> arbitrarily/ ?  (I doubt it's really random)

You're the second person to ask this, but yes, we really do it randomly.
Such that if there are multiple drivers getting resources they should be
evenly distributed. It's not the ideal solution but if it were to do it
arbitrarily then the code would likely return the same device all the
time and any additional devices would not get used.

>> +Struct Page Caveats
>> +-------------------
>> +
>> +Driver writers should be very careful about not passing these special
>> +struct pages to code that isn't prepared for it. At this time, the kernel
>> +interfaces do not have any checks for ensuring this. This obviously
>> +precludes passing these pages to userspace.
> 
> Sounds like landmines here since the reader probably can't translate
> "code that isn't prepared for it" into a list of interfaces that are
> off-limits.  But that's a VM issue that is above my pay grade, so I'm
> not suggesting any change; just pointing out something that makes me
> wonder "hmmm..., how would I act on this?"

Yes, these are big landmines. These are the problems we have been
fighting with trying to get P2P memory into the kernel and the first
step seems to have settled on the developer using them has to be careful
and ensure they are only sent to paths that are used correctly. This
series does these things in the block layer and RDMA interface, but due
to Jens not wanting to add warnings to the common code, it's still
possible for a developer to code something that sends these pages to
block devices that are not prepared for it.

Logan
_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm

  reply	other threads:[~2018-09-21 18:03 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-13  0:11 [PATCH v6 00/13] Copy Offload in NVMe Fabrics with P2P PCI Memory Logan Gunthorpe
2018-09-13  0:11 ` [PATCH v6 01/13] PCI/P2PDMA: Support peer-to-peer memory Logan Gunthorpe
2018-09-20 22:38   ` Bjorn Helgaas
2018-09-20 22:47     ` Logan Gunthorpe
2018-09-21 13:00       ` Bjorn Helgaas
2018-09-21 15:37         ` Logan Gunthorpe
2018-09-21 16:05           ` Christoph Hellwig
2018-09-13  0:11 ` [PATCH v6 02/13] PCI/P2PDMA: Add sysfs group to display p2pmem stats Logan Gunthorpe
2018-09-21 13:07   ` Bjorn Helgaas
2018-09-13  0:11 ` [PATCH v6 03/13] PCI/P2PDMA: Add PCI p2pmem DMA mappings to adjust the bus offset Logan Gunthorpe
2018-09-21 13:15   ` Bjorn Helgaas
2018-09-21 16:48     ` Bjorn Helgaas
2018-09-21 18:13       ` Logan Gunthorpe
2018-09-21 20:00         ` Bjorn Helgaas
2018-09-21 20:01           ` Logan Gunthorpe
2018-09-13  0:11 ` [PATCH v6 04/13] PCI/P2PDMA: Introduce configfs/sysfs enable attribute helpers Logan Gunthorpe
2018-09-21 16:18   ` Bjorn Helgaas
2018-09-21 19:44     ` Logan Gunthorpe
2018-09-21 21:12     ` Logan Gunthorpe
2018-09-24 22:39   ` Bjorn Helgaas
2018-09-13  0:11 ` [PATCH v6 05/13] docs-rst: Add a new directory for PCI documentation Logan Gunthorpe
2018-09-13  0:11 ` [PATCH v6 06/13] PCI/P2PDMA: Add P2P DMA driver writer's documentation Logan Gunthorpe
2018-09-21 16:41   ` Bjorn Helgaas
2018-09-21 18:03     ` Logan Gunthorpe [this message]
2018-09-21 19:47       ` Bjorn Helgaas
2018-09-13  0:11 ` [PATCH v6 07/13] block: Add PCI P2P flag for request queue and check support for requests Logan Gunthorpe
2018-09-13  0:28   ` Jens Axboe
2018-09-13 16:14     ` Logan Gunthorpe
2018-09-13  0:11 ` [PATCH v6 08/13] IB/core: Ensure we map P2P memory correctly in rdma_rw_ctx_[init|destroy]() Logan Gunthorpe
2018-09-13  0:11 ` [PATCH v6 09/13] nvme-pci: Use PCI p2pmem subsystem to manage the CMB Logan Gunthorpe
2018-09-13  0:11 ` [PATCH v6 10/13] nvme-pci: Add support for P2P memory in requests Logan Gunthorpe
2018-09-13  0:11 ` [PATCH v6 11/13] nvme-pci: Add a quirk for a pseudo CMB Logan Gunthorpe
2018-09-13  0:11 ` [PATCH v6 12/13] nvmet: Introduce helper functions to allocate and free request SGLs Logan Gunthorpe
2018-09-13  0:11 ` [PATCH v6 13/13] nvmet: Optionally use PCI P2P memory Logan Gunthorpe

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=e9739430-b238-2078-a51f-d76bae5342d1@deltatee.com \
    --to=logang@deltatee.com \
    --cc=alex.williamson@redhat.com \
    --cc=axboe@kernel.dk \
    --cc=benh@kernel.crashing.org \
    --cc=bhelgaas@google.com \
    --cc=christian.koenig@amd.com \
    --cc=corbet@lwn.net \
    --cc=hch@lst.de \
    --cc=helgaas@kernel.org \
    --cc=jgg@mellanox.com \
    --cc=jglisse@redhat.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nvdimm@lists.01.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=maxg@mellanox.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 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).