linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Christoph Hellwig <hch@lst.de>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Bernard Metzler <bmt@zurich.ibm.com>,
	Zhu Yanjun <yanjunz@nvidia.com>,
	Logan Gunthorpe <logang@deltatee.com>,
	Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>,
	Mike Marciniszyn <mike.marciniszyn@cornelisnetworks.com>,
	linux-rdma@vger.kernel.org, linux-pci@vger.kernel.org,
	iommu@lists.linux-foundation.org
Subject: Re: [PATCH 4/6] PCI/P2PDMA: Remove the DMA_VIRT_OPS hacks
Date: Thu, 5 Nov 2020 18:29:21 +0100	[thread overview]
Message-ID: <20201105172921.GA9537@lst.de> (raw)
In-Reply-To: <20201105172357.GE36674@ziepe.ca>

On Thu, Nov 05, 2020 at 01:23:57PM -0400, Jason Gunthorpe wrote:
> But that depends on the calling driver doing this properly, and we
> don't expose an API to get the PCI device of the struct ib_device
> .. how does nvme even work here?

The PCI p2pdma APIs walk the parent chains of a struct device until
they find a PCI device.  And the ib_device eventually ends up there.

> 
> If we can't get here then why did you add the check to the unmap side?

Because I added them to the map and unmap side, but forgot to commit
the map side.  Mostly to be prepared for the case where we could
end up there.  And thinking out loud I actually need to double check
rdmavt if that is true there as well.  It certainly is for rxe and
siw as I checked it on a live system.

> The SW drivers can't handle PCI pages at all, they are going to try to
> memcpy them or something else not __iomem, so we really do need to
> prevent P2P pages going into them.

Ok, let's prevent it for now.  And if someone wants to do it there
they have to do all the work.

  reply	other threads:[~2020-11-05 17:29 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-05  7:41 remove dma_virt_ops v2 Christoph Hellwig
2020-11-05  7:42 ` [PATCH 1/6] RMDA/sw: don't allow drivers using dma_virt_ops on highmem configs Christoph Hellwig
2020-11-05 12:15   ` Robin Murphy
2020-11-05 17:00     ` Christoph Hellwig
2020-11-05 14:41   ` Jason Gunthorpe
2020-11-05 15:29     ` Robin Murphy
2020-11-05 17:03       ` Christoph Hellwig
2020-11-05  7:42 ` [PATCH 2/6] RDMA/core: remove ib_dma_{alloc,free}_coherent Christoph Hellwig
2020-11-05  7:42 ` [PATCH 3/6] RDMA/core: remove use of dma_virt_ops Christoph Hellwig
2020-11-05 14:34   ` Jason Gunthorpe
2020-11-05 17:09     ` Christoph Hellwig
2020-11-05 17:52   ` Jason Gunthorpe
2020-11-05 17:58     ` Jason Gunthorpe
2020-11-06 14:18       ` Christoph Hellwig
2020-11-06 10:01     ` Christoph Hellwig
2020-11-05  7:42 ` [PATCH 4/6] PCI/P2PDMA: Remove the DMA_VIRT_OPS hacks Christoph Hellwig
2020-11-05 14:34   ` Jason Gunthorpe
2020-11-05 17:08     ` Christoph Hellwig
2020-11-05 17:23       ` Jason Gunthorpe
2020-11-05 17:29         ` Christoph Hellwig [this message]
2020-11-05 17:39           ` Jason Gunthorpe
2020-11-05 17:43             ` Christoph Hellwig
2020-11-05 17:56               ` Jason Gunthorpe
2020-11-05  7:42 ` [PATCH 5/6] PCI/P2PDMA: Cleanup __pci_p2pdma_map_sg a bit Christoph Hellwig
2020-11-05  7:42 ` [PATCH 6/6] dma-mapping: remove dma_virt_ops Christoph Hellwig
2020-11-05 20:32 ` [PATCH 1/6] RMDA/sw: don't allow drivers using dma_virt_ops on highmem configs Bernard Metzler

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=20201105172921.GA9537@lst.de \
    --to=hch@lst.de \
    --cc=bhelgaas@google.com \
    --cc=bmt@zurich.ibm.com \
    --cc=dennis.dalessandro@cornelisnetworks.com \
    --cc=iommu@lists.linux-foundation.org \
    --cc=jgg@ziepe.ca \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=logang@deltatee.com \
    --cc=mike.marciniszyn@cornelisnetworks.com \
    --cc=yanjunz@nvidia.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).