All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
To: Chuck Lever <chuck.lever@oracle.com>
Cc: linux-rdma <linux-rdma@vger.kernel.org>,
	Linux NFS Mailing List <linux-nfs@vger.kernel.org>
Subject: Re: [PATCH v3 05/15] xprtrdma: Remove last ib_reg_phys_mr() call site
Date: Mon, 20 Jul 2015 16:41:34 -0600	[thread overview]
Message-ID: <20150720224134.GA12278@obsidianresearch.com> (raw)
In-Reply-To: <73A27338-7EFC-4F54-A15E-09B9D5145242@oracle.com>

On Mon, Jul 20, 2015 at 06:31:11PM -0400, Chuck Lever wrote:
> 
> On Jul 20, 2015, at 6:26 PM, Jason Gunthorpe <jgunthorpe@obsidianresearch.com> wrote:
> 
> > On Mon, Jul 20, 2015 at 03:03:11PM -0400, Chuck Lever wrote:
> >> +	iov->length = size;
> >> +	iov->lkey = ia->ri_have_dma_lkey ?
> >> +				ia->ri_dma_lkey : ia->ri_bind_mem->lkey;
> >> +	rb->rg_size = size;
> >> +	rb->rg_owner = NULL;
> >> 	return rb;
> > 
> > There is something odd looking about this..
> > 
> > ri_bind_mem is only setup in the RPCRDMA_ALLPHYSICAL and
> > RPCRDMA_MTHCAFMR cases.
> > 
> > RPCRDMA_FRMR doesn't set it up.
> > 
> > So this code in rpcrdma_alloc_regbuf is never called for the FRMR
> > case?
> > 
> > If yes, then, how is FRMR working? There is absolutely no reason to
> > use FRMR to register local send buffers, just use the global all
> > memory lkey...
> > 
> > If no, then that is an oops?
> 
> I’ve tested this code, no oops.
> 
> FRWR always uses the DMA lkey. xprtrdma does not use FRWR if
> IB_DEVICE_LOCAL_DMA_LKEY is not asserted.

Ah, I see. Ok.

Is there a reason to link FRWR and LOCAL_DMA_LKEY together? Just use
the code you have for fmr with frwr to get the lkey, probably move it
to rpcrdma_ia_open .. Physical MR should create a 2nd MR dedicated for
rkey use.

That will work really well with the series I'm working on:

https://github.com/jgunthorpe/linux/tree/remove-ib_get_dma_mr

To just drop ib_get_dma_mr entirely.

Jason

WARNING: multiple messages have this Message-ID (diff)
From: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
To: Chuck Lever <chuck.lever-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
Cc: linux-rdma <linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Linux NFS Mailing List
	<linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH v3 05/15] xprtrdma: Remove last ib_reg_phys_mr() call site
Date: Mon, 20 Jul 2015 16:41:34 -0600	[thread overview]
Message-ID: <20150720224134.GA12278@obsidianresearch.com> (raw)
In-Reply-To: <73A27338-7EFC-4F54-A15E-09B9D5145242-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>

On Mon, Jul 20, 2015 at 06:31:11PM -0400, Chuck Lever wrote:
> 
> On Jul 20, 2015, at 6:26 PM, Jason Gunthorpe <jgunthorpe@obsidianresearch.com> wrote:
> 
> > On Mon, Jul 20, 2015 at 03:03:11PM -0400, Chuck Lever wrote:
> >> +	iov->length = size;
> >> +	iov->lkey = ia->ri_have_dma_lkey ?
> >> +				ia->ri_dma_lkey : ia->ri_bind_mem->lkey;
> >> +	rb->rg_size = size;
> >> +	rb->rg_owner = NULL;
> >> 	return rb;
> > 
> > There is something odd looking about this..
> > 
> > ri_bind_mem is only setup in the RPCRDMA_ALLPHYSICAL and
> > RPCRDMA_MTHCAFMR cases.
> > 
> > RPCRDMA_FRMR doesn't set it up.
> > 
> > So this code in rpcrdma_alloc_regbuf is never called for the FRMR
> > case?
> > 
> > If yes, then, how is FRMR working? There is absolutely no reason to
> > use FRMR to register local send buffers, just use the global all
> > memory lkey...
> > 
> > If no, then that is an oops?
> 
> I’ve tested this code, no oops.
> 
> FRWR always uses the DMA lkey. xprtrdma does not use FRWR if
> IB_DEVICE_LOCAL_DMA_LKEY is not asserted.

Ah, I see. Ok.

Is there a reason to link FRWR and LOCAL_DMA_LKEY together? Just use
the code you have for fmr with frwr to get the lkey, probably move it
to rpcrdma_ia_open .. Physical MR should create a 2nd MR dedicated for
rkey use.

That will work really well with the series I'm working on:

https://github.com/jgunthorpe/linux/tree/remove-ib_get_dma_mr

To just drop ib_get_dma_mr entirely.

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2015-07-20 22:41 UTC|newest]

Thread overview: 114+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-20 19:02 [PATCH v3 00/15] NFS/RDMA client side for Linux 4.3 Chuck Lever
2015-07-20 19:02 ` Chuck Lever
2015-07-20 19:02 ` [PATCH v3 01/15] xprtrdma: Make xprt_setup_rdma() agnostic to family of server address Chuck Lever
2015-07-20 19:02   ` Chuck Lever
2015-07-26 16:49   ` Christoph Hellwig
2015-07-26 16:49     ` Christoph Hellwig
2015-07-20 19:02 ` [PATCH v3 02/15] xprtrdma: Raise maximum payload size to one megabyte Chuck Lever
2015-07-20 19:02   ` Chuck Lever
2015-07-20 19:02 ` [PATCH v3 03/15] xprtrdma: Increase default credit limit Chuck Lever
2015-07-20 19:02   ` Chuck Lever
2015-07-20 19:03 ` [PATCH v3 04/15] xprtrdma: Don't fall back to PHYSICAL memory registration Chuck Lever
2015-07-20 19:03   ` Chuck Lever
2015-07-26 16:50   ` Christoph Hellwig
2015-07-26 16:50     ` Christoph Hellwig
2015-07-20 19:03 ` [PATCH v3 05/15] xprtrdma: Remove last ib_reg_phys_mr() call site Chuck Lever
2015-07-20 19:03   ` Chuck Lever
2015-07-20 20:34   ` Tom Talpey
2015-07-20 20:34     ` Tom Talpey
2015-07-20 20:55     ` Chuck Lever
2015-07-20 20:55       ` Chuck Lever
2015-07-20 21:55       ` Tom Talpey
2015-07-20 21:55         ` Tom Talpey
2015-07-20 22:21         ` Chuck Lever
2015-07-20 22:21           ` Chuck Lever
2015-07-20 22:30           ` Tom Talpey
2015-07-20 22:30             ` Tom Talpey
2015-07-20 21:05     ` Jason Gunthorpe
2015-07-20 21:05       ` Jason Gunthorpe
2015-07-20 21:16       ` Steve Wise
2015-07-20 21:16         ` Steve Wise
2015-07-20 22:04         ` Tom Talpey
2015-07-20 22:04           ` Tom Talpey
2015-07-20 22:17           ` Jason Gunthorpe
2015-07-20 22:17             ` Jason Gunthorpe
2015-07-20 22:26             ` Tom Talpey
2015-07-20 22:26               ` Tom Talpey
2015-07-20 22:41           ` Steve Wise
2015-07-20 22:41             ` Steve Wise
2015-07-20 22:42             ` Jason Gunthorpe
2015-07-20 22:42               ` Jason Gunthorpe
2015-07-21 22:41               ` Steve Wise
2015-07-21 22:41                 ` Steve Wise
2015-07-21 22:54                 ` Jason Gunthorpe
2015-07-21 22:54                   ` Jason Gunthorpe
2015-07-22 13:58                   ` Steve Wise
2015-07-22 13:58                     ` Steve Wise
2015-07-21  0:15             ` Tom Talpey
2015-07-21  0:15               ` Tom Talpey
2015-07-21 14:33               ` Steve Wise
2015-07-21 14:33                 ` Steve Wise
2015-07-21 20:47                 ` Tom Talpey
2015-07-21 20:47                   ` Tom Talpey
2015-07-21 20:55                   ` Steve Wise
2015-07-21 20:55                     ` Steve Wise
2015-07-21 21:22                   ` Steve Wise
2015-07-21 21:22                     ` Steve Wise
2015-07-20 21:34       ` Steve Wise
2015-07-20 21:34         ` Steve Wise
2015-07-20 21:37       ` Steve Wise
2015-07-20 21:37         ` Steve Wise
2015-07-20 22:13         ` Jason Gunthorpe
2015-07-20 22:13           ` Jason Gunthorpe
2015-07-20 22:43           ` Steve Wise
2015-07-20 22:43             ` Steve Wise
2015-07-20 22:54             ` Jason Gunthorpe
2015-07-20 22:54               ` Jason Gunthorpe
2015-07-20 22:54               ` Steve Wise
2015-07-20 22:54                 ` Steve Wise
2015-07-20 22:26   ` Jason Gunthorpe
2015-07-20 22:26     ` Jason Gunthorpe
2015-07-20 22:31     ` Chuck Lever
2015-07-20 22:31       ` Chuck Lever
2015-07-20 22:41       ` Jason Gunthorpe [this message]
2015-07-20 22:41         ` Jason Gunthorpe
2015-07-20 23:36         ` Chuck Lever
2015-07-20 23:36           ` Chuck Lever
2015-07-21  0:11           ` Tom Talpey
2015-07-21  0:11             ` Tom Talpey
2015-07-21  0:34             ` Chuck Lever
2015-07-21  0:34               ` Chuck Lever
2015-07-21  1:03               ` Tom Talpey
2015-07-21  1:03                 ` Tom Talpey
2015-07-20 19:03 ` [PATCH v3 06/15] xprtrdma: Clean up rpcrdma_ia_open() Chuck Lever
2015-07-20 19:03   ` Chuck Lever
2015-07-26 16:53   ` Christoph Hellwig
2015-07-26 16:53     ` Christoph Hellwig
2015-07-26 18:21     ` Chuck Lever
2015-07-26 18:21       ` Chuck Lever
2015-07-26 18:51       ` Christoph Hellwig
2015-07-26 18:51         ` Christoph Hellwig
2015-07-20 19:03 ` [PATCH v3 07/15] xprtrdma: Remove logic that constructs RDMA_MSGP type calls Chuck Lever
2015-07-20 19:03   ` Chuck Lever
2015-07-20 19:03 ` [PATCH v3 08/15] xprtrdma: Account for RPC/RDMA header size when deciding to inline Chuck Lever
2015-07-20 19:03   ` Chuck Lever
2015-07-20 19:03 ` [PATCH v3 09/15] xprtrdma: Always provide a write list when sending NFS READ Chuck Lever
2015-07-20 19:03   ` Chuck Lever
2015-07-20 19:03 ` [PATCH v3 10/15] xprtrdma: Don't provide a reply chunk when expecting a short reply Chuck Lever
2015-07-20 19:03   ` Chuck Lever
2015-07-20 19:04 ` [PATCH v3 11/15] xprtrdma: Fix XDR tail buffer marshalling Chuck Lever
2015-07-20 19:04   ` Chuck Lever
2015-07-20 19:04 ` [PATCH v3 12/15] xprtrdma: Fix large NFS SYMLINK calls Chuck Lever
2015-07-20 19:04   ` Chuck Lever
2015-07-20 19:04 ` [PATCH v3 13/15] xprtrdma: Clean up xprt_rdma_print_stats() Chuck Lever
2015-07-20 19:04   ` Chuck Lever
2015-07-20 19:04 ` [PATCH v3 14/15] xprtrdma: Count RDMA_NOMSG type calls Chuck Lever
2015-07-20 19:04   ` Chuck Lever
2015-07-20 19:04 ` [PATCH v3 15/15] core: Remove the ib_reg_phys_mr() and ib_rereg_phys_mr() verbs Chuck Lever
2015-07-20 19:04   ` Chuck Lever
2015-07-21 20:08   ` Anna Schumaker
2015-07-21 20:08     ` Anna Schumaker
2015-07-21 20:16     ` Chuck Lever
2015-07-21 20:16       ` Chuck Lever
2015-07-21 20:18       ` Anna Schumaker
2015-07-21 20:18         ` Anna Schumaker

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=20150720224134.GA12278@obsidianresearch.com \
    --to=jgunthorpe@obsidianresearch.com \
    --cc=chuck.lever@oracle.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.