lkml.org 
[lkml]   [2016]   [Dec]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: Enabling peer to peer device transactions for PCIe devices
    From
    Hi All

    This has been a great thread (thanks to Alex for kicking it off) and I
    wanted to jump in and maybe try and put some summary around the
    discussion. I also wanted to propose we include this as a topic for LFS/MM
    because I think we need more discussion on the best way to add this
    functionality to the kernel.

    As far as I can tell the people looking for P2P support in the kernel fall
    into two main camps:

    1. Those who simply want to expose static BARs on PCIe devices that can be
    used as the source/destination for DMAs from another PCIe device. This
    group has no need for memory invalidation and are happy to use
    physical/bus addresses and not virtual addresses.

    2. Those who want to support devices that suffer from occasional memory
    pressure and need to invalidate memory regions from time to time. This
    camp also would like to use virtual addresses rather than physical ones to
    allow for things like migration.

    I am wondering if people agree with this assessment?

    I think something like the iopmem patches Logan and I submitted recently
    come close to addressing use case 1. There are some issues around
    routability but based on feedback to date that does not seem to be a
    show-stopper for an initial inclusion.

    For use-case 2 it looks like there are several options and some of them
    (like HMM) have been around for quite some time without gaining
    acceptance. I think there needs to be more discussion on this usecase and
    it could be some time before we get something upstreamable.

    I for one, would really like to see use case 1 get addressed soon because
    we have consumers for it coming soon in the form of CMBs for NVMe devices.

    Long term I think Jason summed it up really well. CPU vendors will put
    high-speed, open, switchable, coherent buses on their processors and all
    these problems will vanish. But I ain't holding my breathe for that to
    happen ;-).

    Cheers

    Stephen

    \
     
     \ /
      Last update: 2016-12-04 14:48    [W:8.893 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site