All of lore.kernel.org
 help / color / mirror / Atom feed
From: Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: Jason Gunthorpe
	<jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
Cc: Haggai Eran <haggaie-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Eli Cohen <eli-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
	Matan Barak <matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
	Yevgeny Petrilin
	<yevgenyp-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
	Eran Ben Elisha <eranbe-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
	Moshe Lazer <moshel-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Subject: Re: [PATCH v1 0/3] libibverbs: On-demand paging support
Date: Fri, 4 Sep 2015 17:18:28 -0400	[thread overview]
Message-ID: <55EA0AA4.5090406@redhat.com> (raw)
In-Reply-To: <20150904204244.GA20758-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 2615 bytes --]

On 09/04/2015 04:42 PM, Jason Gunthorpe wrote:
> On Fri, Sep 04, 2015 at 04:23:05PM -0400, Doug Ledford wrote:
>> On 09/03/2015 10:56 AM, Haggai Eran wrote:
>>> This series adds userspace support for on-demand paging. The first patch adds
>>> support for the new extended query device verb. Patch 2 adds the capability and
>>> interface bits related to on-demand paging, and patch 3 adds example code to
>>> the rc_pingpong program to use on-demand paging.
>>
>> I've reviewed this series and I'm OK with it.  However, it's currently
>> blocked.  We need to fix the API mess that was created when the
>> create/destroy flow verbs were added.  I've gone back through the code,
>> and I'm pretty sure I know what Jason's objection to the create/destroy
>> flow implementation was.  In particular, we weren't supposed to have this:
>>
>>  struct verbs_context {
>>         /*  "grows up" - new fields go here */
>> +       int (*drv_ibv_destroy_flow) (struct ibv_flow *flow);
>> +       int (*lib_ibv_destroy_flow) (struct ibv_flow *flow);
>> +       struct ibv_flow * (*drv_ibv_create_flow) (struct ibv_qp *qp,
>> +                                                 struct ibv_flow_attr
>> +                                                 *flow_attr);
>> +       struct ibv_flow * (*lib_ibv_create_flow) (struct ibv_qp *qp,
>> +                                                 struct ibv_flow_attr
>> +                                                 *flow_attr);
>>
>> There was only supposed to be ibv_create_flow and ibv_destroy_flow, not
>> this silly separate drv/lib versions that just amount to wasted space
>> and confusion.
>>
>> Our choices are: 1) Leave this in place but don't do any more extensions
>> this way, knowing full well that this is wrong but preserving ABI or
> 
> We should drop the code so people don't copy it.
> 
> Replace the one that isn't used with a 'void * __compat_foo_Bar' and
> if necessary have the common setup in ibverbs copy a non-null
> __compat_ into lib_.
> 
> This will compile-break drivers using the wrong scheme, the driver
> should be changed.
> 
> Using a new driver with a old verbs means only the flow API doesn't
> work, old driver with new verbs is stil OK. Drop a dependency in the
> mlx4 package. Safe breakage in an obscure scenario..

I like the idea, but in implementing it I found it easy enough to
preserve both forward and backward compatibility.  Proposed patch on
linux-rdma, comments welcome.


-- 
Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
              GPG KeyID: 0E572FDD



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 884 bytes --]

  parent reply	other threads:[~2015-09-04 21:18 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-03 14:56 [PATCH v1 0/3] libibverbs: On-demand paging support Haggai Eran
     [not found] ` <1441292199-8371-1-git-send-email-haggaie-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2015-09-03 14:56   ` [PATCH v1 1/3] Add support for extended query device capabilities Haggai Eran
2015-09-03 14:56   ` [PATCH v1 2/3] Add on-demand paging support Haggai Eran
2015-09-03 14:56   ` [PATCH v1 3/3] libibverbs/examples: Support odp in rc_pingpong Haggai Eran
2015-09-04 20:23   ` [PATCH v1 0/3] libibverbs: On-demand paging support Doug Ledford
     [not found]     ` <55E9FDA9.3090709-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-09-04 20:42       ` Jason Gunthorpe
     [not found]         ` <20150904204244.GA20758-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-09-04 21:18           ` Doug Ledford [this message]
2015-09-04 23:43   ` Doug Ledford
     [not found]     ` <55EA2CA7.8000702-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-09-05 20:27       ` Or Gerlitz
     [not found]         ` <CAJ3xEMiyZSu4DuNhHtcwJRwTnDXS4+Dw+SXYw=LhhphUMA__Ew-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-09-06  1:09           ` Doug Ledford
2015-09-10 15:17       ` Or Gerlitz
     [not found]         ` <55F19F09.7000407-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2015-09-10 16:53           ` Doug Ledford
     [not found]             ` <55F1B571.7020808-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-09-11  7:14               ` Or Gerlitz
     [not found]                 ` <55F27F51.6010406-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2015-09-11 14:28                   ` Doug Ledford

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=55EA0AA4.5090406@redhat.com \
    --to=dledford-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
    --cc=eli-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    --cc=eranbe-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    --cc=haggaie-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    --cc=jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    --cc=moshel-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    --cc=yevgenyp-VPRAkNaXOzVWk0Htik3J/w@public.gmane.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.