DPDK patches and discussions
 help / color / mirror / Atom feed
From: Ferruh Yigit <ferruh.yigit@intel.com>
To: Neil Horman <nhorman@tuxdriver.com>
Cc: Bruce Richardson <bruce.richardson@intel.com>,
	Thomas Monjalon <thomas@monjalon.net>,
	dev@dpdk.org, Luca Boccassi <bluca@debian.org>,
	Christian Ehrhardt <christian.ehrhardt@canonical.com>
Subject: Re: [dpdk-dev] [PATCH v2] config: disable RTE_NEXT_ABI by default
Date: Fri, 5 Oct 2018 13:35:06 +0100	[thread overview]
Message-ID: <13ede968-aeff-0282-92e6-c2c0db12ab7e@intel.com> (raw)
In-Reply-To: <20181005113057.GA15009@hmswarspite.think-freely.org>

On 10/5/2018 12:30 PM, Neil Horman wrote:
> On Fri, Oct 05, 2018 at 11:17:30AM +0100, Ferruh Yigit wrote:
>> On 10/5/2018 10:13 AM, Bruce Richardson wrote:
>>> On Thu, Oct 04, 2018 at 05:55:34PM +0200, Thomas Monjalon wrote:
>>>> 04/10/2018 17:28, Ferruh Yigit:
>>>>> On 10/4/2018 4:10 PM, Thomas Monjalon wrote:
>>>>>> 04/10/2018 17:48, Ferruh Yigit:
>>>>>>> Enabling RTE_NEXT_ABI means to enable APIs that break the ABI for
>>>>>>> the current release and these APIs are targeted for further release.
>>>>>>
>>>>>> It seems nobody is using it in last releases.
>>>>>>
>>>>>>> RTE_NEXT_ABI shouldn't be enabled by default.
>>>>>>
>>>>>> The reason for having it enabled by default is that when you build DPDK
>>>>>> yourself, you probably want the latest features.
>>>>>> If packaged properly for stability, it is easy to disable it in
>>>>>> the package recipe.
>>>>>
>>>>> My concern was (if this has been used), user may get unstable APIs and without
>>>>> explicitly being aware of it.
>>>>
>>>> I am OK with both defaults (enabled or disabled).
>>>>
>>> I'd keep it as is. As said, I'm not sure it's being used right now anyway.
>>
>> No, not used right now.
>> But I think we can use it, did you able to find chance to check:
>>
>> https://mails.dpdk.org/archives/dev/2018-October/114372.html
>>
>> Option D.
>>
> 
> Just to propose something else, We also have the ALLOW_EXPERIMENTAL_API flag
> that we IIRC default to on.  Would it be worth consolidating these two
> mechanisms into one?  Currently ALLOW_EXPERIMENTAL_API lets us flag symbols that
> are not yet stable, and it seems to work well.  It does not however let us
> simply define out structures/variables that might adversely affect the ABI.
> Would it be worth considering adding a macro (something like
> __rte_experimental_symbol()), that allows a variable/struct to be defined if
> ALLOW_EXPERIMENTAL_API is set, and squashed otherwise?

RTE_NEXT_ABI is not just for symbols.

If there a new API foo(), __rte_experimental works fine to mark it experimental.

But if there is an _existing API_
"bar(char)",

and we plan to change it to
"bar(int, int)",

to publish the change early in this release we need RTE_NEXT_ABI ifdef since
both can't exist together, so it will be used as:

Release N:

 #ifdef RTE_NEXT_ABI
 bar(int, int);
 #else
 bar(char);
 #endif


Release N + 1:

 bar(int, int);

      reply	other threads:[~2018-10-05 12:35 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-07 17:44 [dpdk-dev] [RFC] config: remove RTE_NEXT_ABI Ferruh Yigit
2018-03-07 18:06 ` Luca Boccassi
2018-03-08  8:05 ` Thomas Monjalon
2018-03-08 11:43   ` Ferruh Yigit
2018-03-08 15:17     ` Thomas Monjalon
2018-03-08 15:35       ` Neil Horman
2018-03-08 16:04         ` Thomas Monjalon
2018-03-08 19:40           ` Neil Horman
2018-03-08 21:34             ` Thomas Monjalon
2018-03-09  0:18               ` Neil Horman
2018-10-04 15:43 ` [dpdk-dev] [PATCH] config: disable RTE_NEXT_ABI by default Ferruh Yigit
2018-10-04 14:49   ` Luca Boccassi
2018-10-04 15:48   ` [dpdk-dev] [PATCH v2] " Ferruh Yigit
2018-10-04 15:10     ` Thomas Monjalon
2018-10-04 15:28       ` Ferruh Yigit
2018-10-04 15:55         ` Thomas Monjalon
2018-10-05  9:13           ` Bruce Richardson
2018-10-05 10:17             ` Ferruh Yigit
2018-10-05 11:30               ` Neil Horman
2018-10-05 12:35                 ` Ferruh Yigit [this message]

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=13ede968-aeff-0282-92e6-c2c0db12ab7e@intel.com \
    --to=ferruh.yigit@intel.com \
    --cc=bluca@debian.org \
    --cc=bruce.richardson@intel.com \
    --cc=christian.ehrhardt@canonical.com \
    --cc=dev@dpdk.org \
    --cc=nhorman@tuxdriver.com \
    --cc=thomas@monjalon.net \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).