All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sagi Grimberg <sagig@dev.mellanox.co.il>
To: "'Christoph Hellwig'" <hch@infradead.org>,
	Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Cc: Steve Wise <swise@opengridcomputing.com>,
	dledford@redhat.com, sagig@mellanox.com, ogerlitz@mellanox.com,
	roid@mellanox.com, linux-rdma@vger.kernel.org, eli@mellanox.com,
	target-devel@vger.kernel.org, linux-nfs@vger.kernel.org,
	trond.myklebust@primarydata.com, bfields@fieldses.org,
	Oren Duer <oren@mellanox.com>
Subject: Re: [PATCH V3 1/5] RDMA/core: Transport-independent access flags
Date: Thu, 9 Jul 2015 11:47:45 +0300	[thread overview]
Message-ID: <559E3531.5080306@dev.mellanox.co.il> (raw)
In-Reply-To: <20150708203205.GA21847@infradead.org>

On 7/8/2015 11:32 PM, 'Christoph Hellwig' wrote:
> On Wed, Jul 08, 2015 at 01:08:42PM -0600, Jason Gunthorpe wrote:
>> Then, what is left is all remote MRs and maybe it will be clearer what
>> to do about them then...
>
>  From looking at that for a while the APIs needed seem pretty simple
> to me from a consumer perspective:
>
> struct rdma_mr *rmda_alloc_mr(struct ib_pd *pd, unsigned int nr_pages);

Why assuming that the mr spans pages?
I'd prefer if we consolidate on an existing mr allocation API
ib_create_mr() that receives a generic struct ib_mr_init_attr.

> void rdma_free_mr(struct rdma_mr *mr);
>
> /* updates *sg if the SG couldn't be fully registered due to offsets */
> int rdma_register_sg(struct rdma_mr *mr, struct scatterlist **sg,
> 		u32 *pkey, u32 *offset, u32 *len);

This is where I have a problem. Providing an API that may or may not
post a work request on my QP is confusing, and I don't understand its
semantics at all. Do I need to reserve slots on my QP? should I ask for
a completion? If we suppress the completion will I see an error
completion? What should I expect to find in the wr_id?

The stack is converging on FRWR as the primary registration method. Any
other methods will gradually be removed. I think that posting the work
request must never be implicit. We should focus on making the
registration work request better and hide the mechanics from the
consumer.

P.S. you probably didn't mean the argument pkey unless I'm completely
missing something...

> void rdma_unregister_sg(struct rdma_mr *mr, struct scatterlist *sg);

Same arguments here for local invalidate work request.

> Note that this assumes that the iSER bounce buffer hacks are replaced
> with the QUEUE_FLAG_SG_GAPS flags and a change to the SG_IO code to
> bounce buffer for vectored SG_IO calls.

Yea - that's on my todo's...

WARNING: multiple messages have this Message-ID (diff)
From: Sagi Grimberg <sagig-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
To: 'Christoph Hellwig' <hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>,
	Jason Gunthorpe
	<jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
Cc: Steve Wise
	<swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>,
	dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org,
	ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org,
	roid-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	eli-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org,
	target-devel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	trond.myklebust-7I+n7zu2hftEKMMhf/gKZA@public.gmane.org,
	bfields-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org,
	Oren Duer <oren-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Subject: Re: [PATCH V3 1/5] RDMA/core: Transport-independent access flags
Date: Thu, 9 Jul 2015 11:47:45 +0300	[thread overview]
Message-ID: <559E3531.5080306@dev.mellanox.co.il> (raw)
In-Reply-To: <20150708203205.GA21847-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>

On 7/8/2015 11:32 PM, 'Christoph Hellwig' wrote:
> On Wed, Jul 08, 2015 at 01:08:42PM -0600, Jason Gunthorpe wrote:
>> Then, what is left is all remote MRs and maybe it will be clearer what
>> to do about them then...
>
>  From looking at that for a while the APIs needed seem pretty simple
> to me from a consumer perspective:
>
> struct rdma_mr *rmda_alloc_mr(struct ib_pd *pd, unsigned int nr_pages);

Why assuming that the mr spans pages?
I'd prefer if we consolidate on an existing mr allocation API
ib_create_mr() that receives a generic struct ib_mr_init_attr.

> void rdma_free_mr(struct rdma_mr *mr);
>
> /* updates *sg if the SG couldn't be fully registered due to offsets */
> int rdma_register_sg(struct rdma_mr *mr, struct scatterlist **sg,
> 		u32 *pkey, u32 *offset, u32 *len);

This is where I have a problem. Providing an API that may or may not
post a work request on my QP is confusing, and I don't understand its
semantics at all. Do I need to reserve slots on my QP? should I ask for
a completion? If we suppress the completion will I see an error
completion? What should I expect to find in the wr_id?

The stack is converging on FRWR as the primary registration method. Any
other methods will gradually be removed. I think that posting the work
request must never be implicit. We should focus on making the
registration work request better and hide the mechanics from the
consumer.

P.S. you probably didn't mean the argument pkey unless I'm completely
missing something...

> void rdma_unregister_sg(struct rdma_mr *mr, struct scatterlist *sg);

Same arguments here for local invalidate work request.

> Note that this assumes that the iSER bounce buffer hacks are replaced
> with the QUEUE_FLAG_SG_GAPS flags and a change to the SG_IO code to
> bounce buffer for vectored SG_IO calls.

Yea - that's on my todo's...
--
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

  parent reply	other threads:[~2015-07-09  8:47 UTC|newest]

Thread overview: 223+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-05 23:21 [PATCH V3 0/5] Transport-independent MRs Steve Wise
2015-07-05 23:22 ` [PATCH V3 1/5] RDMA/core: Transport-independent access flags Steve Wise
2015-07-06  5:25   ` Christoph Hellwig
2015-07-06 14:23     ` Steve Wise
2015-07-06 14:23       ` Steve Wise
2015-07-07  8:58       ` 'Christoph Hellwig'
2015-07-06  7:09   ` Haggai Eran
2015-07-06  7:09     ` Haggai Eran
2015-07-06 14:29     ` Steve Wise
2015-07-06 14:29       ` Steve Wise
2015-07-07 14:17     ` Steve Wise
2015-07-07 14:17       ` Steve Wise
2015-07-07 14:34       ` Haggai Eran
2015-07-07 14:34         ` Haggai Eran
2015-07-07 14:46         ` Steve Wise
2015-07-07 14:46           ` Steve Wise
2015-07-07 15:07           ` Haggai Eran
2015-07-07 15:07             ` Haggai Eran
2015-07-06  7:53   ` Sagi Grimberg
2015-07-06  7:53     ` Sagi Grimberg
2015-07-06 14:37     ` Steve Wise
2015-07-06 14:37       ` Steve Wise
2015-07-06 16:17       ` Sagi Grimberg
2015-07-06 16:17         ` Sagi Grimberg
2015-07-06 16:55         ` Steve Wise
2015-07-06 16:55           ` Steve Wise
2015-07-07  9:00         ` Christoph Hellwig
2015-07-07  9:14           ` Sagi Grimberg
2015-07-07  9:14             ` Sagi Grimberg
2015-07-07 14:05             ` Steve Wise
2015-07-07 14:05               ` Steve Wise
2015-07-07 16:17               ` Jason Gunthorpe
2015-07-07 16:17                 ` Jason Gunthorpe
2015-07-07 16:27                 ` Sagi Grimberg
2015-07-07 16:27                   ` Sagi Grimberg
2015-07-07 21:36                   ` Jason Gunthorpe
2015-07-07 21:36                     ` Jason Gunthorpe
2015-07-08  7:29                     ` Sagi Grimberg
2015-07-08  8:13                       ` 'Christoph Hellwig'
2015-07-08  8:13                         ` 'Christoph Hellwig'
2015-07-08 10:05                         ` Sagi Grimberg
2015-07-08 10:05                           ` Sagi Grimberg
2015-07-08 10:20                           ` 'Christoph Hellwig'
2015-07-08 10:20                             ` 'Christoph Hellwig'
2015-07-08 11:08                             ` Sagi Grimberg
2015-07-08 11:08                               ` Sagi Grimberg
2015-07-08 17:14                               ` Hefty, Sean
2015-07-08 17:14                                 ` Hefty, Sean
2015-07-09  8:46                                 ` Sagi Grimberg
2015-07-09 13:52                                   ` Chuck Lever
2015-07-10 19:34                                     ` Christoph Hellwig
2015-07-12  7:49                                       ` Sagi Grimberg
2015-07-13 16:50                                         ` Jason Gunthorpe
2015-07-14  8:06                                           ` Sagi Grimberg
2015-07-14 12:24                                             ` Tom Talpey
2015-07-14 12:24                                               ` Tom Talpey
2015-07-14 13:21                                               ` Sagi Grimberg
2015-07-14 13:21                                                 ` Sagi Grimberg
2015-07-23  0:43                                               ` Hefty, Sean
2015-07-23  0:43                                                 ` Hefty, Sean
2015-07-08 19:08                       ` Jason Gunthorpe
2015-07-08 20:32                         ` 'Christoph Hellwig'
2015-07-08 20:32                           ` 'Christoph Hellwig'
2015-07-08 20:37                           ` 'Christoph Hellwig'
2015-07-08 20:37                             ` 'Christoph Hellwig'
2015-07-09  0:03                           ` Jason Gunthorpe
2015-07-09  8:00                             ` 'Christoph Hellwig'
2015-07-09  8:00                               ` 'Christoph Hellwig'
2015-07-09  8:58                             ` Sagi Grimberg
2015-07-09  8:58                               ` Sagi Grimberg
2015-07-09 22:18                             ` Doug Ledford
2015-07-09 22:18                               ` Doug Ledford
2015-07-09 22:53                               ` Jason Gunthorpe
2015-07-09 22:53                                 ` Jason Gunthorpe
2015-07-10 13:22                                 ` Tom Talpey
2015-07-10 16:11                                   ` Jason Gunthorpe
2015-07-10 16:11                                     ` Jason Gunthorpe
2015-07-10 17:56                                     ` Doug Ledford
2015-07-10 18:34                                       ` Chuck Lever
2015-07-10 18:42                                       ` Tom Talpey
2015-07-10 19:54                                         ` Jason Gunthorpe
2015-07-10 19:54                                           ` Jason Gunthorpe
2015-07-10 20:48                                           ` Jason Gunthorpe
2015-07-10 22:33                                           ` Doug Ledford
2015-07-10 22:33                                             ` Doug Ledford
2015-07-11 10:17                                           ` 'Christoph Hellwig'
2015-07-11 10:17                                             ` 'Christoph Hellwig'
2015-07-13 16:57                                             ` Jason Gunthorpe
2015-07-13 16:57                                               ` Jason Gunthorpe
2015-07-14  7:25                                               ` 'Christoph Hellwig'
2015-07-14  9:05                                                 ` Sagi Grimberg
2015-07-14 15:35                                                   ` 'Christoph Hellwig'
2015-07-14 17:26                                                   ` Jason Gunthorpe
2015-07-15  7:10                                                     ` Sagi Grimberg
2015-07-15  7:10                                                       ` Sagi Grimberg
2015-07-10 22:30                                         ` Doug Ledford
2015-07-10 22:30                                           ` Doug Ledford
2015-07-10 20:57                                       ` Jason Gunthorpe
2015-07-10 22:27                                         ` Doug Ledford
2015-07-10 22:27                                           ` Doug Ledford
     [not found]                                           ` <20150710233417.GA8919@obsidianresearch.com>
2015-07-11  3:10                                             ` Doug Ledford
2015-07-11  3:10                                               ` Doug Ledford
2015-07-13 17:18                                               ` Jason Gunthorpe
2015-07-13 17:18                                                 ` Jason Gunthorpe
2015-07-13 22:23                                                 ` Tom Talpey
2015-07-11 16:37                                     ` Steve Wise
2015-07-12 10:46                                       ` Sagi Grimberg
2015-07-12 10:46                                         ` Sagi Grimberg
2015-07-14 19:25                                         ` Steve Wise
2015-07-14 19:25                                           ` Steve Wise
2015-07-14 19:29                                           ` Jason Gunthorpe
2015-07-14 19:32                                             ` Steve Wise
2015-07-14 19:32                                               ` Steve Wise
2015-07-14 19:37                                               ` Jason Gunthorpe
2015-07-14 19:55                                               ` 'Christoph Hellwig'
2015-07-14 19:55                                                 ` 'Christoph Hellwig'
2015-07-14 20:10                                                 ` Steve Wise
2015-07-14 20:10                                                   ` Steve Wise
2015-07-14 20:29                                                 ` Jason Gunthorpe
2015-07-14 20:29                                                   ` Jason Gunthorpe
2015-07-14 20:40                                                   ` Steve Wise
2015-07-14 20:40                                                     ` Steve Wise
2015-07-14 20:44                                                     ` Jason Gunthorpe
2015-07-14 20:44                                                       ` Jason Gunthorpe
2015-07-14 20:54                                                       ` Steve Wise
2015-07-14 20:54                                                         ` Steve Wise
2015-07-14 20:59                                                         ` Jason Gunthorpe
2015-07-14 20:59                                                           ` Jason Gunthorpe
2015-07-14 20:50                                                   ` Tom Talpey
2015-07-14 20:50                                                     ` Tom Talpey
2015-07-15  6:50                                                   ` 'Christoph Hellwig'
2015-07-15 19:12                                                     ` Jason Gunthorpe
2015-07-15 19:12                                                       ` Jason Gunthorpe
2015-07-16  6:41                                                       ` Jason Gunthorpe
2015-07-16  6:41                                                         ` Jason Gunthorpe
2015-07-16  8:04                                                       ` 'Christoph Hellwig'
2015-07-16  8:04                                                         ` 'Christoph Hellwig'
2015-07-16 16:13                                                         ` Jason Gunthorpe
2015-07-16 16:13                                                           ` Jason Gunthorpe
2015-07-15  8:47                                                   ` Sagi Grimberg
2015-07-15  8:47                                                     ` Sagi Grimberg
2015-07-15 12:19                                                     ` 'Christoph Hellwig'
2015-07-15 12:19                                                       ` 'Christoph Hellwig'
2015-07-15 19:17                                                       ` Jason Gunthorpe
2015-07-15 19:17                                                         ` Jason Gunthorpe
2015-07-14 20:46                                               ` Tom Talpey
2015-07-14 19:45                                           ` 'Christoph Hellwig'
2015-07-14 19:57                                             ` Jason Gunthorpe
2015-07-14 19:57                                               ` Jason Gunthorpe
2015-07-14 19:58                                             ` Steve Wise
2015-07-14 19:58                                               ` Steve Wise
2015-07-14 20:41                                               ` Jason Gunthorpe
2015-07-14 20:41                                                 ` Jason Gunthorpe
2015-07-14 20:51                                                 ` Steve Wise
2015-07-14 20:51                                                   ` Steve Wise
2015-07-14 21:01                                                   ` Steve Wise
2015-07-14 21:01                                                     ` Steve Wise
2015-07-14 21:14                                                     ` Jason Gunthorpe
2015-07-14 21:14                                                       ` Jason Gunthorpe
2015-07-23 18:53                                               ` Hefty, Sean
2015-07-23 18:53                                                 ` Hefty, Sean
2015-07-23 19:03                                                 ` Steve Wise
2015-07-23 19:03                                                   ` Steve Wise
2015-07-23 23:30                                                   ` Hefty, Sean
2015-07-23 23:30                                                     ` Hefty, Sean
2015-07-23 23:53                                                     ` Jason Gunthorpe
2015-07-23 23:53                                                       ` Jason Gunthorpe
2015-07-24  0:18                                                       ` Hefty, Sean
2015-07-24  0:18                                                         ` Hefty, Sean
2015-07-24  4:46                                                         ` Jason Gunthorpe
2015-07-09  8:47                           ` Sagi Grimberg [this message]
2015-07-09  8:47                             ` Sagi Grimberg
2015-07-08 21:38                         ` Tom Talpey
2015-07-08 23:36                           ` Jason Gunthorpe
2015-07-09 11:02                             ` Sagi Grimberg
2015-07-09 17:01                               ` Jason Gunthorpe
2015-07-09 17:01                                 ` Jason Gunthorpe
2015-07-09 20:00                                 ` Tom Talpey
2015-07-09 21:16                                   ` Jason Gunthorpe
     [not found]                                 ` <20150709170142.GA21921-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-07-10  8:55                                   ` kernel memory registration (was: RDMA/core: Transport-independent access flags) Sagi Grimberg
     [not found]                                     ` <559F8881.7070308-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-07-10 16:35                                       ` Jason Gunthorpe
2015-07-11 10:31                                       ` 'Christoph Hellwig'
     [not found]                                         ` <20150711103153.GC14741-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2015-07-13 16:46                                           ` Jason Gunthorpe
     [not found]                                             ` <20150713164652.GC23832-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-07-14  8:24                                               ` kernel memory registration Sagi Grimberg
     [not found]                                                 ` <55A4C73A.7080001-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-07-14 17:24                                                   ` Jason Gunthorpe
2015-07-11 10:25                                 ` [PATCH V3 1/5] RDMA/core: Transport-independent access flags 'Christoph Hellwig'
2015-07-13 16:35                                   ` Jason Gunthorpe
2015-07-13 19:36                                   ` Tom Talpey
2015-07-13 20:15                                     ` Jason Gunthorpe
2015-07-14  9:10                                       ` Sagi Grimberg
2015-07-14  9:10                                         ` Sagi Grimberg
2015-07-14 15:36                                         ` 'Christoph Hellwig'
2015-07-14 15:36                                           ` 'Christoph Hellwig'
2015-07-14 15:47                                           ` Tom Talpey
2015-07-14 15:47                                             ` Tom Talpey
2015-07-14 16:22                                           ` Jason Gunthorpe
2015-07-14 16:22                                             ` Jason Gunthorpe
2015-07-14  7:37                                     ` 'Christoph Hellwig'
2015-07-14  9:22                                       ` Sagi Grimberg
2015-07-14 12:12                                         ` Tom Talpey
2015-07-14 12:12                                           ` Tom Talpey
2015-07-14 13:23                                           ` Sagi Grimberg
2015-07-14 14:45                                         ` Steve Wise
2015-07-14 14:45                                           ` Steve Wise
2015-07-14 15:40                                         ` 'Christoph Hellwig'
2015-07-14 15:40                                           ` 'Christoph Hellwig'
2015-07-08  8:11               ` 'Christoph Hellwig'
2015-07-06  7:58   ` Sagi Grimberg
2015-07-06  7:58     ` Sagi Grimberg
2015-07-06 14:39     ` Steve Wise
2015-07-06 14:39       ` Steve Wise
2015-07-05 23:22 ` [PATCH V3 2/5] RDMA/iser: Use transport independent MR allocation Steve Wise
2015-07-05 23:22 ` [PATCH V3 3/5] RDMA/isert: " Steve Wise
2015-07-05 23:22   ` Steve Wise
2015-07-05 23:22 ` [PATCH V3 4/5] svcrdma: " Steve Wise
2015-07-05 23:22   ` Steve Wise
2015-07-05 23:22 ` [PATCH V3 5/5] xprtrdma: " Steve Wise
2015-07-05 23:22   ` Steve Wise
2015-07-06  5:25 ` [PATCH V3 0/5] Transport-independent MRs Christoph Hellwig
2015-07-06  5:25   ` Christoph Hellwig
2015-07-06 14:24   ` Steve Wise
2015-07-06 14:24     ` Steve Wise
2015-07-07  9:01     ` 'Christoph Hellwig'

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=559E3531.5080306@dev.mellanox.co.il \
    --to=sagig@dev.mellanox.co.il \
    --cc=bfields@fieldses.org \
    --cc=dledford@redhat.com \
    --cc=eli@mellanox.com \
    --cc=hch@infradead.org \
    --cc=jgunthorpe@obsidianresearch.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=ogerlitz@mellanox.com \
    --cc=oren@mellanox.com \
    --cc=roid@mellanox.com \
    --cc=sagig@mellanox.com \
    --cc=swise@opengridcomputing.com \
    --cc=target-devel@vger.kernel.org \
    --cc=trond.myklebust@primarydata.com \
    /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.