All of lore.kernel.org
 help / color / mirror / Atom feed
From: Neil Horman <nhorman@tuxdriver.com>
To: Bruce Richardson <bruce.richardson@intel.com>
Cc: dev@dpdk.org, stable@dpdk.org,
	David Marchand <david.marchand@redhat.com>,
	Anatoly Burakov <anatoly.burakov@intel.com>
Subject: Re: [PATCH v3] compat: merge compat library into EAL
Date: Fri, 8 Feb 2019 11:55:09 -0500	[thread overview]
Message-ID: <20190208165509.GD13299@hmswarspite.think-freely.org> (raw)
In-Reply-To: <20190208161838.GB298844@bricha3-MOBL.ger.corp.intel.com>

On Fri, Feb 08, 2019 at 04:18:38PM +0000, Bruce Richardson wrote:
> On Fri, Feb 08, 2019 at 10:37:40AM -0500, Neil Horman wrote:
> > On Thu, Feb 07, 2019 at 03:03:28PM +0000, Bruce Richardson wrote:
> > > On Thu, Feb 07, 2019 at 09:34:26AM -0500, Neil Horman wrote:
> > > > On Wed, Feb 06, 2019 at 02:17:45PM +0000, Bruce Richardson wrote:
> > > > > On Wed, Feb 06, 2019 at 07:22:54AM -0500, Neil Horman wrote:
> > > > > > On Wed, Feb 06, 2019 at 11:01:30AM +0000, Bruce Richardson wrote:
> > > > > > > Since compat library is only a single header, we can easily move it into
> > > > > > > the EAL common headers instead of tracking it separately. The downside of
> > > > > > > this is that it becomes a little more difficult to have any libs that are
> > > > > > > built before EAL depend on it. Thankfully, this is not a major problem as
> > > > > > > the only library which uses rte_compat.h and is built before EAL (kvargs)
> > > > > > > already has the path to the compat.h header file explicitly called out as
> > > > > > > an include path.
> > > > > > > 
> > > > > > > However, to ensure that we don't hit problems later with this, we can add
> > > > > > > EAL common headers folder to the global include list in the meson build
> > > > > > > which means that all common headers can be safely used by all libraries, no
> > > > > > > matter what their build order.
> > > > > > > 
> > > > > > This assumes that the compat lib will always just be a header though, no?  Will
> > > > > > this work in the event that someone wants to add some compatibility code that
> > > > > > requires its own C compilation unit?
> > > > > > 
> > > > > 
> > > > > No, it probably won't work, you'll hit an issue with any libraries that
> > > > > don't depend on EAL and need that functionality. The question is whether
> > > > > this is likely to be an issue in the future for us. I'd say the possiblity
> > > > > is fairly remote, but I'm open to input on it.
> > > > > 
> > > > Im afraid I don't have any more visibility on that than anyone else.  The fact
> > > > that it hasn't been needed yet is likely a good sign, but I am concerned at the
> > > > notion that this change enjoins us from having that flexibility.
> > > > 
> > > Yes. However, in general is it not the case that compatibility code belongs
> > > in the actual library wanting to provide the compatibility? That is what
> > > has been done up till now. If we do need compatibility code placed more
> > > centrally, I think EAL is as good a place for it as any - the only library
> > > which doesn't depend on EAL now is kvargs, so our risk area is pretty low,
> > > I think.
> > > 
> > > Also, if we do need a compat libraries with .c files in it, there is no
> > > reason we can't undo this change. It would be no more user visible than
> > > adding a .c file to the existing structure, given that in both cases an
> > > extra .so file will appear in the build output.
> > > 
> > If the consensus is that compat code can all live in the EAL library, then I'm
> > ok with it, even if its C code.  The only thing I don't want is for our plan to
> > be, in the event we need C code, to immediately undo this change.  That just
> > doesn't make sense to me.
> > 
> > So, if you're ok with compat C code in eal, then
> > Acked-by: Neil Horman <nhorman@tuxdriver.com>
> > 
> Can you clarify what you would see as the compat C code that would be
> needed - perhaps an example from another project? From the little function
> versioning I've done in DPDK, I would have thought what was in the headers
> was enough for all cases we might encounter.
> 
I can't, hence my ACK.  I was really just concerned that we were making a change
that enjoined us from being able to add C compilation units should we need them,
but if we can add them directly to the EAL libraries, I'm satisfied with that.

Neil

> /Bruce
> 

  reply	other threads:[~2019-02-08 16:55 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-10 11:11 [PATCH] compat: merge compat library into EAL Bruce Richardson
2019-01-10 11:31 ` Burakov, Anatoly
2019-01-10 13:20   ` Bruce Richardson
2019-01-10 12:28 ` David Marchand
2019-01-10 12:53   ` David Marchand
2019-01-10 13:19     ` Bruce Richardson
2019-01-10 13:47 ` [PATCH v2] " Bruce Richardson
2019-01-10 13:57   ` David Marchand
2019-01-10 14:01     ` Bruce Richardson
2019-01-10 14:01   ` Burakov, Anatoly
2019-01-10 14:02   ` Burakov, Anatoly
2019-02-06 11:01 ` [PATCH v3] " Bruce Richardson
2019-02-06 12:22   ` Neil Horman
2019-02-06 14:17     ` Bruce Richardson
2019-02-07 14:34       ` Neil Horman
2019-02-07 15:03         ` Bruce Richardson
2019-02-08 15:37           ` Neil Horman
2019-02-08 16:18             ` Bruce Richardson
2019-02-08 16:55               ` Neil Horman [this message]
2019-02-08 17:13                 ` Bruce Richardson
2019-02-25 14:25                   ` Bruce Richardson
2019-02-25 14:59   ` Thomas Monjalon

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=20190208165509.GD13299@hmswarspite.think-freely.org \
    --to=nhorman@tuxdriver.com \
    --cc=anatoly.burakov@intel.com \
    --cc=bruce.richardson@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=stable@dpdk.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.