All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
To: Roland Dreier <roland-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: Or Gerlitz <ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
	"linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	matanb <matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
	Yishai Hadas <yishaih-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
	Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Subject: Re: [PATCH libibverbs V3 3/3] Add ibv_query_port_ex support
Date: Fri, 9 May 2014 12:10:43 -0600	[thread overview]
Message-ID: <20140509181043.GC18257@obsidianresearch.com> (raw)
In-Reply-To: <CAL1RGDUiBtOaYKZVR3ghOZzG6J0p5EV5o4FTTW0E43mHz-BaVQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

On Fri, May 09, 2014 at 07:01:36AM -0700, Roland Dreier wrote:
> On Thu, May 8, 2014 at 12:09 PM, Jason Gunthorpe
> <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org> wrote:
> >>  struct verbs_context {
> >>       /*  "grows up" - new fields go here */
> >> +     int (*drv_query_port_ex)(struct ibv_context *context, uint8_t port_num,
> >> +                              struct ibv_port_attr_ex *port_attr);
> >> +     int (*lib_query_port_ex)(struct ibv_context *context, uint8_t port_num,
> >> +                               struct ibv_port_attr_ex *port_attr);
> >>       struct ibv_ah * (*drv_ibv_create_ah_ex)(struct ibv_pd *pd,
> >>                                               struct ibv_ah_attr_ex *attr);
> >>       int (*drv_ibv_destroy_flow) (struct ibv_flow *flow);
> >
> > I'm not sure what Roland decided to merge, but I am surprised to see
> > drv_ elements here. That was nix'd in the round of review of the first
> > patch set. eg create_qp_ex/etc don't have them.
> >
> > The flow is such that the verbs code has a chance to capture and
> > override the function pointer after the driver sets it, there is no
> > purpose to the drv_ values.
> >
> > I wouldn't like to see more added, and I think you should make a patch
> > to ensure they are not necessary before it propogates too far.
> 
> Sorry, I was not aware of the feeling on drv_XXX members here and I
> don't think I saw any review comments about them.  (Maybe they got
> lost in the flood of "merge it merge it merge it" emails)

To be honest, I never bothered looking at any patches beyond the core
extension patches. There was no indication from you that they would
ever be merged, so it didn't feel like good use of my time.

> Anyway I'm wondering if there's a way to recover without breaking ABI
> here (or by breaking ABI in a manageable way).  The only library using
> this stuff (that I know of) is libmlx4, maybe we can spin quick
> releases of both and pretend libibverbs 1.1.8 never happened?

I think the best approach is to rescind the last libmlx4 version so it
never gets used then:
  - Rename drv_* to _reserved_X
  - Drop all references to drv_* from libverbs
  - Have libmlx4 set the ib_ pointer only

For the other problem
  - Replace VERBS_CONTEXT_CREATE_FLOW and VERBS_CONTEXT_DESTROY_FLOW
    with _RESERVED_x
  - Drop the references from mlx4

These are not a big deal as long as things are fixed quickly before
the bad libmlx4 gets widely used. Then we could reclaim the reserved_X
entires someday.

The biggest issue I see is that this is creating an anti-pattern, so
we need to stamp that out in the verbs source.

I expect Or will get right on this..

Or, it would be helpful to me if you could go back to libibverbs
commit cbf2a35162afcc9e97870b7b18d6477133a8dfa2 and post the corrected
flow steering patches with the ABI/API change as a distinct patch. I
think I caught everything, but lets also correct that process error
and hopefully Sean/etc can comment too.

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

  parent reply	other threads:[~2014-05-09 18:10 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-08  6:51 [PATCH libibverbs V3 0/3] Add support for UD QPs under RoCE IP addressing Or Gerlitz
     [not found] ` <1399531883-30599-1-git-send-email-ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-05-08  6:51   ` [PATCH libibverbs V3 1/3] Add ibv_port_cap_flags Or Gerlitz
2014-05-08  6:51   ` [PATCH libibverbs V3 2/3] Use neighbour lookup for RoCE UD QPs Eth L2 resolution Or Gerlitz
     [not found]     ` <1399531883-30599-3-git-send-email-ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-05-08 19:29       ` Jason Gunthorpe
2014-05-08  6:51   ` [PATCH libibverbs V3 3/3] Add ibv_query_port_ex support Or Gerlitz
     [not found]     ` <1399531883-30599-4-git-send-email-ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-05-08 19:09       ` Jason Gunthorpe
     [not found]         ` <20140508190951.GB25849-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2014-05-08 19:40           ` Christoph Lameter
     [not found]             ` <alpine.DEB.2.10.1405081439370.26267-gkYfJU5Cukgdnm+yROfE0A@public.gmane.org>
2014-05-08 19:47               ` Jason Gunthorpe
2014-05-09 14:01           ` Roland Dreier
     [not found]             ` <CAL1RGDUiBtOaYKZVR3ghOZzG6J0p5EV5o4FTTW0E43mHz-BaVQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-05-09 18:10               ` Jason Gunthorpe [this message]
     [not found]                 ` <20140509181043.GC18257-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2014-05-09 18:20                   ` Roland Dreier
     [not found]                     ` <CAL1RGDVmeTKz1TXGLP+h4t9ffuaVeBCkWKPC2AuFyygcNweRWg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-05-09 18:39                       ` Hefty, Sean
2014-05-09 18:40                       ` Jason Gunthorpe
2014-05-11 12:35                   ` Or Gerlitz
     [not found]                     ` <536F6EAC.8020109-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-05-12  6:35                       ` Jason Gunthorpe
2014-05-12 12:22           ` Matan Barak
     [not found]             ` <5370BCF2.7050107-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-05-12 16:43               ` Jason Gunthorpe
     [not found]                 ` <20140512164323.GA20666-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2014-05-12 21:57                   ` Roland Dreier
     [not found]                     ` <CAL1RGDXYwPHrS7dSWg0ojyiPG7TF1Y0800q801kWvMxoyn3c8g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-05-13 13:18                       ` Doug Ledford
     [not found]                     ` <23840589.5954.1399987081862.JavaMail."DougLedford"@Phenom>
2014-05-13 20:02                       ` Jason Gunthorpe

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=20140509181043.GC18257@obsidianresearch.com \
    --to=jgunthorpe-epgobjl8dl3ta4ec/59zmfatqe2ktcn/@public.gmane.org \
    --cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    --cc=ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    --cc=roland-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=yishaih-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.