All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
To: Steve Wise <swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>
Cc: 'Leon Romanovsky' <leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	'Doug Ledford' <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: rdma-core build environment enabling out-of-core providers
Date: Wed, 2 Aug 2017 13:34:03 -0600	[thread overview]
Message-ID: <20170802193403.GA23777@obsidianresearch.com> (raw)
In-Reply-To: <019001d30bc3$cc6648e0$6532daa0$@opengridcomputing.com>

On Wed, Aug 02, 2017 at 02:16:09PM -0500, Steve Wise wrote:
> 1) I took my out-of-tree provider, and moved it into rdma-core, updated it to
> use the rdma-core bldenv and APIs.  This included the rdma-core mmio and
> dma/cache services, plus a few other nits like ccan, and the new byte swapping
> API, and got it building.  That was pretty straight forward.

Great, that is what I expected..

> 2) I took the updated out-of-tree provider src from 1), and put it back in the
> out-of-tree provider automake/config bldenv, and then tried to pull in whatever
> was needed from rdma-core to build it.  This resulted in me pulling certain
> files, like you mentioned above.  I just pulled them from the rdma-core/build/
> tree for the sake of getting it to build.   Basically I needed ccan/*
> infiniband/driver.h, and util/compiler.h/udma_barrier.h.  That got it to build.

Just be careful that all the cmake magic is working properly in your
other environment, for all the distros you want to target..

> I haven't tested either of these yet to see if they actually load.  But that's
> where I'm at.  #2 has the issues you describe, in that the atomic header is
> auto-generated based on the installed distro/platform.  So that leads to using
> #1 which is what you recommend.  I'm ok with using #1, but then the issue
> becomes supporting my provider across older non rdma-core installed
> systems.

You can handle this by rolling back the rdma-core repository to the
right points in history and re-instering your provider. This will
require some level of cherry picking future patches (eg ccan, etc),
but may be the simplest approach for this specific requirement.

This would be somewhere around
0c0914e1e9b7a68bcebfe785b6df30500ca7d2e0 for RHEL7 libibverbs.

You can find a similar point for OFED.

This could be automated, so you can develope against upstream, and
then using a script create a rdma-core with the classic private ABI,
and copy the provider from the upstream to build it.

Alternatively, just have your customers use a new libibverbs on
RHEL. That reduces your QA burden and development workload...

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:[~2017-08-02 19:34 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-02 13:55 rdma-core build environment enabling out-of-core providers Steve Wise
2017-08-02 16:09 ` Jason Gunthorpe
     [not found]   ` <20170802160900.GB21208-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-08-02 19:16     ` Steve Wise
2017-08-02 19:34       ` Jason Gunthorpe [this message]
     [not found]         ` <20170802193403.GA23777-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-08-02 20:05           ` Steve Wise
2017-08-02 20:23             ` Jason Gunthorpe
     [not found]               ` <20170802202300.GA24244-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-08-03  5:26                 ` Leon Romanovsky
2017-08-03  7:08       ` Nicolas Morey-Chaisemartin
     [not found]         ` <44b511c6-45fa-d5aa-4d4c-e47d2edcf604-l3A5Bk7waGM@public.gmane.org>
2017-08-03 13:48           ` Steve Wise
2017-08-03 14:47             ` Jason Gunthorpe
     [not found]               ` <20170803144733.GA13127-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-08-03 15:01                 ` Nicolas Morey-Chaisemartin
     [not found]                   ` <890f961c-7aa8-1a73-e98d-f7ce9da333d7-l3A5Bk7waGM@public.gmane.org>
2017-08-03 17:07                     ` Jason Gunthorpe
     [not found]                       ` <20170803170713.GD13127-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-08-04  6:02                         ` Nicolas Morey-Chaisemartin
     [not found]                           ` <7cc0ba31-7a05-4db1-5807-4d971fc3d773-l3A5Bk7waGM@public.gmane.org>
2017-08-04 11:30                             ` Steve Wise
2017-08-04 11:52                               ` Nicolas Morey-Chaisemartin
     [not found]                                 ` <188beb70-9776-33fc-6f72-cc00e968db73-l3A5Bk7waGM@public.gmane.org>
2017-08-04 13:14                                   ` Steve Wise

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=20170802193403.GA23777@obsidianresearch.com \
    --to=jgunthorpe-epgobjl8dl3ta4ec/59zmfatqe2ktcn/@public.gmane.org \
    --cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@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.