lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 14 Apr 2017 08:37:29 +1000
From:   Benjamin Herrenschmidt <>
To:     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 <>,
        Jason Gunthorpe <>
        Jerome Glisse <>
Subject: Re: [RFC 0/8] Copy Offload with Peer-to-Peer PCI Memory

On Thu, 2017-04-13 at 15:22 -0600, Logan Gunthorpe wrote:
> On 12/04/17 03:55 PM, Benjamin Herrenschmidt wrote:
> > Look at pcibios_resource_to_bus() and pcibios_bus_to_resource(). They
> > will perform the conversion between the struct resource content (CPU
> > physical address) and the actual PCI bus side address.
> Ah, thanks for the tip! On my system, this translation returns the same
> address so it was not necessary. And, yes, that means this would have to
> find its way into the dma mapping routine somehow. This means we'll
> eventually need a way to look-up the p2pmem device from the struct page.
> Which means we will likely need a new flag bit in the struct page or
> something. The big difficulty I see is testing. Do you know what
> architectures or in what circumstances are these translations used?

I think a bunch of non-x86 architectures but I don't know which ones
outside of powerpc.

> > When behind the same switch you need to use PCI addresses. If one tries
> > later to do P2P between host bridges (via the CPU fabric) things get
> > more complex and one will have to use either CPU addresses or something
> > else alltogether (probably would have to teach the arch DMA mapping
> > routines to work with those struct pages you create and return the
> > right thing).
> Probably for starters we'd want to explicitly deny cases between host
> bridges and add that later if someone wants to do the testing.


> Thanks,
> Logan

Powered by blists - more mailing lists