Re: Enabling peer to peer device transactions for PCIe devices

From: Serguei Sagalovitch
Date: Wed Nov 23 2016 - 14:23:17 EST


On 2016-11-23 12:27 PM, Bart Van Assche wrote:
On 11/23/2016 09:13 AM, Logan Gunthorpe wrote:
IMO any memory that has been registered for a P2P transaction should be
locked from being evicted. So if there's a get_user_pages call it needs
to be pinned until the put_page. The main issue being with the RDMA
case: handling an eviction when a chunk of memory has been registered as
an MR would be very tricky. The MR may be relied upon by another host
and the kernel would have to inform user-space the MR was invalid then
user-space would have to tell the remote application.

Hello Logan,

Are you aware that the Linux kernel already supports ODP (On Demand Paging)? See also the output of git grep -nHi on.demand.paging. See also https://www.openfabrics.org/images/eventpresos/workshops2014/DevWorkshop/presos/Tuesday/pdf/04_ODP_update.pdf.

Bart.
My understanding is that the main problems are (a) h/w support (b) compatibility with IB Verbs semantic.