Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752145AbdDNLjW (ORCPT ); Fri, 14 Apr 2017 07:39:22 -0400 Received: from gate.crashing.org ([63.228.1.57]:34114 "EHLO gate.crashing.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750784AbdDNLjT (ORCPT ); Fri, 14 Apr 2017 07:39:19 -0400 Message-ID: <1492169849.25766.3.camel@kernel.crashing.org> Subject: Re: [RFC 0/8] Copy Offload with Peer-to-Peer PCI Memory From: Benjamin Herrenschmidt To: Jason Gunthorpe , Bjorn Helgaas Cc: Logan Gunthorpe , Christoph Hellwig , Sagi Grimberg , "James E.J. Bottomley" , "Martin K. Petersen" , Jens Axboe , Steve Wise , Stephen Bates , Max Gurtovoy , Dan Williams , Keith Busch , linux-pci@vger.kernel.org, linux-scsi@vger.kernel.org, linux-nvme@lists.infradead.org, linux-rdma@vger.kernel.org, linux-nvdimm@ml01.01.org, linux-kernel@vger.kernel.org, Jerome Glisse Date: Fri, 14 Apr 2017 21:37:29 +1000 In-Reply-To: <20170414041656.GA30694@obsidianresearch.com> References: <1490911959-5146-1-git-send-email-logang@deltatee.com> <1491974532.7236.43.camel@kernel.crashing.org> <5ac22496-56ec-025d-f153-140001d2a7f9@deltatee.com> <1492034124.7236.77.camel@kernel.crashing.org> <81888a1e-eb0d-cbbc-dc66-0a09c32e4ea2@deltatee.com> <20170413232631.GB24910@bhelgaas-glaptop.roam.corp.google.com> <20170414041656.GA30694@obsidianresearch.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.22.6 (3.22.6-1.fc25) Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 854 Lines: 21 On Thu, 2017-04-13 at 22:16 -0600, Jason Gunthorpe wrote: > > Any caller of pci_add_resource_offset() uses CPU addresses different from > > the PCI bus addresses (unless the offset is zero, of course).  All ACPI > > platforms also support this translation (see "translation_offset"), though > > in most x86 systems the offset is zero.  I'm aware of one x86 system that > > was tested with a non-zero offset but I don't think it was shipped that > > way. > > I'd suggest just detecting if there is any translation in bus > addresses anywhere and just hard disabling P2P on such systems. I object to designing a subsystem that by design cannot work on whole categories of architectures out there. > On modern hardware with 64 bit BARs there is very little reason to > have translation, so I think this is a legacy feature. No it's not. Cheers, Ben.