linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tom Talpey <tom@talpey.com>
To: Jason Gunthorpe <jgg@ziepe.ca>, "Mora, Jorge" <Jorge.Mora@netapp.com>
Cc: Chuck Lever <chuck.lever@oracle.com>,
	Olga Kornievskaia <aglo@umich.edu>,
	linux-rdma <linux-rdma@vger.kernel.org>,
	Linux NFS Mailing List <linux-nfs@vger.kernel.org>
Subject: Re: [PATCH v1 4/4] xprtrdma: Plant XID in on-the-wire RDMA offset (FRWR)
Date: Mon, 19 Nov 2018 21:45:24 -0500	[thread overview]
Message-ID: <d6e65bdf-6cdd-1a23-36de-71aeb57a22e0@talpey.com> (raw)
In-Reply-To: <20181119224615.GM4890@ziepe.ca>

On 11/19/2018 5:46 PM, Jason Gunthorpe wrote:
> On Mon, Nov 19, 2018 at 09:42:56PM +0000, Mora, Jorge wrote:
>> Hello Chuck,
>>
>> I am confused, is it the whole purpose of RDMA is to place the data
>> directly into the memory location given by the virtual address or
>> offset? What you are saying is that this offset is not the actual
>> memory address and so the driver must map this offset to the actual
>> address?
> 
> All RDMA on the wire addresses are 'virtual' and always go through
> translation hardware to reach a physical memory address. Even if you
> have a virtual address that matches your physical address there will
> still be translation hardware to enforce security.
> 
> The direct placement refers to not copying data, not to using physical
> memory addresses throughout the protocol design.
> 
> So it is better to use a virtual address that doesn't disclose any
> information about the host's configuration to the network, such as
> physical locations of kernel memory.

Agreed. And, this is a very subtle but very powerful aspect of FRWR
registration, that the high-order bits of the "virtual address" can
basically be any value of the requestor's (client's) choice.

Note, the low-order bits, up to the maximum offset used by the upper
layer (e.g. a few MB for NFS), must be reserved in order to allow RDMA
segments to iterate over the range of bytes in the region. That's only
24 or so bits out of the available 64, here however.

For other registration methods, this is not always the case. It is
definitely best to leverage this important property for FRWR.

SMB Direct in Windows does a similar swizzling, by the way. We have
taken several different approaches to the format, over time.

Tom.

  reply	other threads:[~2018-11-20  2:52 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-19 15:45 [PATCH v1 0/4] NFS/RDMA client for v4.21 (part 1) Chuck Lever
2018-11-19 15:45 ` [PATCH v1 1/4] xprtrdma: Remove support for FMR memory registration Chuck Lever
2018-11-19 16:16   ` Bart Van Assche
2018-11-19 19:09     ` Leon Romanovsky
2018-11-19 20:52       ` Bart Van Assche
2018-11-20  5:37         ` Leon Romanovsky
2018-11-19 22:41     ` Jason Gunthorpe
2018-11-19 22:56       ` Chuck Lever
2018-11-19 23:10         ` Jason Gunthorpe
2018-11-20 15:22       ` Dennis Dalessandro
2018-11-19 15:45 ` [PATCH v1 2/4] xprtrdma: mrs_create off-by-one Chuck Lever
2018-11-19 15:46 ` [PATCH v1 3/4] xprtrdma: Reduce max_frwr_depth Chuck Lever
2018-11-19 15:46 ` [PATCH v1 4/4] xprtrdma: Plant XID in on-the-wire RDMA offset (FRWR) Chuck Lever
2018-11-19 17:47   ` Olga Kornievskaia
2018-11-19 17:58     ` Chuck Lever
2018-11-19 18:08       ` Olga Kornievskaia
2018-11-19 18:18         ` Chuck Lever
2018-11-19 18:47           ` Olga Kornievskaia
2018-11-19 18:58             ` Chuck Lever
2018-11-19 21:22               ` Olga Kornievskaia
2018-11-19 21:32                 ` Chuck Lever
2018-11-19 21:42                   ` Mora, Jorge
2018-11-19 22:46                     ` Jason Gunthorpe
2018-11-20  2:45                       ` Tom Talpey [this message]
2018-11-20  3:09                         ` Jason Gunthorpe
2018-11-20  3:25                           ` Tom Talpey
2018-11-20  3:32                             ` Jason Gunthorpe
2018-11-20  3:38                               ` Tom Talpey
2018-11-20 18:02   ` Anna Schumaker
2018-11-20 18:07     ` Chuck Lever
     [not found]       ` <94ff7ec712e086bfdd9c217a5f97c293a07151b9.camel@gmail.com>
2018-11-20 21:31         ` Chuck Lever

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=d6e65bdf-6cdd-1a23-36de-71aeb57a22e0@talpey.com \
    --to=tom@talpey.com \
    --cc=Jorge.Mora@netapp.com \
    --cc=aglo@umich.edu \
    --cc=chuck.lever@oracle.com \
    --cc=jgg@ziepe.ca \
    --cc=linux-nfs@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    /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).