DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] Stable ABI status of rte_meter_[t|s]rtcm_profile_config
@ 2018-05-28  3:31 Andy Green
  2018-05-30  0:32 ` Andy Green
  2018-08-01 10:47 ` Kevin Traynor
  0 siblings, 2 replies; 8+ messages in thread
From: Andy Green @ 2018-05-28  3:31 UTC (permalink / raw)
  To: dev

Hi -

Between 18.02 and the putative 18.05 there were changes in the way the 
meter stuff deals with its config.

I updated the related code in lagopus, but I get warnings about using 
the new APIs (it's the same for rte_meter_trtcm_profile_config())

./dpdk/meter.c: In function 'dpdk_register_meter':
./dpdk/meter.c:119:7: warning: 'rte_meter_srtcm_profile_config' is 
deprecated: Symbol is not yet part of stable ABI [-Wdeprecated-declarations]
        rte_meter_srtcm_profile_config(&lband->sp, &param);
        ^
In file included from ./dpdk/meter.c:27:0:
/home/agreen/lagopus/src/dpdk/build/include/rte_meter.h:86:1: note: 
declared here
  rte_meter_srtcm_profile_config(struct rte_meter_srtcm_profile *p,
  ^
./dpdk/meter.c:132:7: warning: 'rte_meter_srtcm_profile_config' is 
deprecated: Symbol is not yet part of stable ABI [-Wdeprecated-declarations]
        rte_meter_srtcm_profile_config(&lband->sp, &param);
        ^
In file included from ./dpdk/meter.c:27:0:
/home/agreen/lagopus/src/dpdk/build/include/rte_meter.h:86:1: note: 
declared here
  rte_meter_srtcm_profile_config(struct rte_meter_srtcm_profile *p,


As far as I can see this api change is not optional, it changes the 
parameters for related apis to require a struct prepared with these new 
apis.

-Andy

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [dpdk-dev] Stable ABI status of rte_meter_[t|s]rtcm_profile_config
  2018-05-28  3:31 [dpdk-dev] Stable ABI status of rte_meter_[t|s]rtcm_profile_config Andy Green
@ 2018-05-30  0:32 ` Andy Green
  2018-05-30  9:55   ` Singh, Jasvinder
  2018-08-01 10:47 ` Kevin Traynor
  1 sibling, 1 reply; 8+ messages in thread
From: Andy Green @ 2018-05-30  0:32 UTC (permalink / raw)
  To: dev; +Cc: Cristian Dumitrescu, Jasvinder Singh



On 05/28/2018 11:31 AM, Andy Green wrote:
> Hi -
> 
> Between 18.02 and the putative 18.05 there were changes in the way the 
> meter stuff deals with its config.
> 
> I updated the related code in lagopus, but I get warnings about using 
> the new APIs (it's the same for rte_meter_trtcm_profile_config())
> 
> ./dpdk/meter.c: In function 'dpdk_register_meter':
> ./dpdk/meter.c:119:7: warning: 'rte_meter_srtcm_profile_config' is 
> deprecated: Symbol is not yet part of stable ABI 
> [-Wdeprecated-declarations]
>         rte_meter_srtcm_profile_config(&lband->sp, &param);
>         ^
> In file included from ./dpdk/meter.c:27:0:
> /home/agreen/lagopus/src/dpdk/build/include/rte_meter.h:86:1: note: 
> declared here
>   rte_meter_srtcm_profile_config(struct rte_meter_srtcm_profile *p,
>   ^
> ./dpdk/meter.c:132:7: warning: 'rte_meter_srtcm_profile_config' is 
> deprecated: Symbol is not yet part of stable ABI 
> [-Wdeprecated-declarations]
>         rte_meter_srtcm_profile_config(&lband->sp, &param);
>         ^
> In file included from ./dpdk/meter.c:27:0:
> /home/agreen/lagopus/src/dpdk/build/include/rte_meter.h:86:1: note: 
> declared here
>   rte_meter_srtcm_profile_config(struct rte_meter_srtcm_profile *p,
> 
> 
> As far as I can see this api change is not optional, it changes the 
> parameters for related apis to require a struct prepared with these new 
> apis.

IOW should these exports still be "experimental"

EXPERIMENTAL {
         global:

         rte_meter_srtcm_profile_config;
         rte_meter_trtcm_profile_config;
};

...when the changes also introduced in 
c06ddf9698e0c2a9653cfa971f9ddc205065662c unconditionally modify the 
existing APIs to require the new stuff?

@@ -138,6 +187,7 @@ rte_meter_srtcm_color_aware_check(struct 
rte_meter_srtcm *m,
   */
  static inline enum rte_meter_color
  rte_meter_trtcm_color_blind_check(struct rte_meter_trtcm *m,
+       struct rte_meter_trtcm_profile *p,
         uint64_t time,
         uint32_t pkt_len);

etc

-Andy

> -Andy

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [dpdk-dev] Stable ABI status of rte_meter_[t|s]rtcm_profile_config
  2018-05-30  0:32 ` Andy Green
@ 2018-05-30  9:55   ` Singh, Jasvinder
  2018-05-30 10:13     ` Andy Green
  0 siblings, 1 reply; 8+ messages in thread
From: Singh, Jasvinder @ 2018-05-30  9:55 UTC (permalink / raw)
  To: Andy Green, dev; +Cc: Dumitrescu, Cristian

<snip>

> On 05/28/2018 11:31 AM, Andy Green wrote:
> > Hi -
> >
> > Between 18.02 and the putative 18.05 there were changes in the way the
> > meter stuff deals with its config.
> >
> > I updated the related code in lagopus, but I get warnings about using
> > the new APIs (it's the same for rte_meter_trtcm_profile_config())
> >
> > ./dpdk/meter.c: In function 'dpdk_register_meter':
> > ./dpdk/meter.c:119:7: warning: 'rte_meter_srtcm_profile_config' is
> > deprecated: Symbol is not yet part of stable ABI
> > [-Wdeprecated-declarations]
> >         rte_meter_srtcm_profile_config(&lband->sp, &param);
> >         ^
> > In file included from ./dpdk/meter.c:27:0:
> > /home/agreen/lagopus/src/dpdk/build/include/rte_meter.h:86:1: note:
> > declared here
> >   rte_meter_srtcm_profile_config(struct rte_meter_srtcm_profile *p,
> >   ^
> > ./dpdk/meter.c:132:7: warning: 'rte_meter_srtcm_profile_config' is
> > deprecated: Symbol is not yet part of stable ABI
> > [-Wdeprecated-declarations]
> >         rte_meter_srtcm_profile_config(&lband->sp, &param);
> >         ^
> > In file included from ./dpdk/meter.c:27:0:
> > /home/agreen/lagopus/src/dpdk/build/include/rte_meter.h:86:1: note:
> > declared here
> >   rte_meter_srtcm_profile_config(struct rte_meter_srtcm_profile *p,
> >
> >
> > As far as I can see this api change is not optional, it changes the
> > parameters for related apis to require a struct prepared with these
> > new apis.
> 
> IOW should these exports still be "experimental"
> 
> EXPERIMENTAL {
>          global:
> 
>          rte_meter_srtcm_profile_config;
>          rte_meter_trtcm_profile_config; };
> 
> ...when the changes also introduced in
> c06ddf9698e0c2a9653cfa971f9ddc205065662c unconditionally modify the
> existing APIs to require the new stuff?
> 
> @@ -138,6 +187,7 @@ rte_meter_srtcm_color_aware_check(struct
> rte_meter_srtcm *m,
>    */
>   static inline enum rte_meter_color
>   rte_meter_trtcm_color_blind_check(struct rte_meter_trtcm *m,
> +       struct rte_meter_trtcm_profile *p,
>          uint64_t time,
>          uint32_t pkt_len);
> 
> etc

The above meter APIs change has followed the deprecation procedure, therefore, IMO, should not be treated as experimental. In general, this is open question as nothing is specified in the docs.

   

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [dpdk-dev] Stable ABI status of rte_meter_[t|s]rtcm_profile_config
  2018-05-30  9:55   ` Singh, Jasvinder
@ 2018-05-30 10:13     ` Andy Green
  0 siblings, 0 replies; 8+ messages in thread
From: Andy Green @ 2018-05-30 10:13 UTC (permalink / raw)
  To: Singh, Jasvinder, dev; +Cc: Dumitrescu, Cristian



On 05/30/2018 05:55 PM, Singh, Jasvinder wrote:
> <snip>
> 
>> On 05/28/2018 11:31 AM, Andy Green wrote:
>>> Hi -
>>>
>>> Between 18.02 and the putative 18.05 there were changes in the way the
>>> meter stuff deals with its config.
>>>
>>> I updated the related code in lagopus, but I get warnings about using
>>> the new APIs (it's the same for rte_meter_trtcm_profile_config())
>>>
>>> ./dpdk/meter.c: In function 'dpdk_register_meter':
>>> ./dpdk/meter.c:119:7: warning: 'rte_meter_srtcm_profile_config' is
>>> deprecated: Symbol is not yet part of stable ABI
>>> [-Wdeprecated-declarations]
>>>          rte_meter_srtcm_profile_config(&lband->sp, &param);
>>>          ^
>>> In file included from ./dpdk/meter.c:27:0:
>>> /home/agreen/lagopus/src/dpdk/build/include/rte_meter.h:86:1: note:
>>> declared here
>>>    rte_meter_srtcm_profile_config(struct rte_meter_srtcm_profile *p,
>>>    ^
>>> ./dpdk/meter.c:132:7: warning: 'rte_meter_srtcm_profile_config' is
>>> deprecated: Symbol is not yet part of stable ABI
>>> [-Wdeprecated-declarations]
>>>          rte_meter_srtcm_profile_config(&lband->sp, &param);
>>>          ^
>>> In file included from ./dpdk/meter.c:27:0:
>>> /home/agreen/lagopus/src/dpdk/build/include/rte_meter.h:86:1: note:
>>> declared here
>>>    rte_meter_srtcm_profile_config(struct rte_meter_srtcm_profile *p,
>>>
>>>
>>> As far as I can see this api change is not optional, it changes the
>>> parameters for related apis to require a struct prepared with these
>>> new apis.
>>
>> IOW should these exports still be "experimental"
>>
>> EXPERIMENTAL {
>>           global:
>>
>>           rte_meter_srtcm_profile_config;
>>           rte_meter_trtcm_profile_config; };
>>
>> ...when the changes also introduced in
>> c06ddf9698e0c2a9653cfa971f9ddc205065662c unconditionally modify the
>> existing APIs to require the new stuff?
>>
>> @@ -138,6 +187,7 @@ rte_meter_srtcm_color_aware_check(struct
>> rte_meter_srtcm *m,
>>     */
>>    static inline enum rte_meter_color
>>    rte_meter_trtcm_color_blind_check(struct rte_meter_trtcm *m,
>> +       struct rte_meter_trtcm_profile *p,
>>           uint64_t time,
>>           uint32_t pkt_len);
>>
>> etc
> 
> The above meter APIs change has followed the deprecation procedure, therefore, IMO, should not be treated as experimental. In general, this is open question as nothing is specified in the docs.

Thanks.

Another way to ask the same question is: "after we changed the related, 
pre-existing api to require this, why is it useful to want it to blow 
warnings unless we enable EXPERIMENTAL"?

Before the patch, meter api itself wasn't experimental evidently. 
Lagopus uses the old api without EXPERIMENTAL enabled for 18.02; then on 
18.05, after the api it was previously using without EXPERIMENTAL 
changed, it blows warnings after it was actually unconditionally forced 
to adapt to use the new stuff.

Unless I misunderstood it, you can't meaningfully, retrospectively, mark 
a public API EXPERIMENTAL after you changed it, and this is marking 
EXPERIMENTAL a new unconditional dependency on a new type for an API 
that was a previously available via a non-EXPERIMENTAL public api.

Effectively I think you just decided to change the public api (which is 
normal enough for living projects...) and that's the end of it. 
EXPERIMENTAL is only meaningful for stuff you can cleanly enable or 
disable at build-time, this is not such a situation.

If so it should get un-experimentalized for export...

-Andy

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [dpdk-dev] Stable ABI status of rte_meter_[t|s]rtcm_profile_config
  2018-05-28  3:31 [dpdk-dev] Stable ABI status of rte_meter_[t|s]rtcm_profile_config Andy Green
  2018-05-30  0:32 ` Andy Green
@ 2018-08-01 10:47 ` Kevin Traynor
  2018-08-01 11:32   ` Andy Green
  2018-08-01 14:30   ` Dumitrescu, Cristian
  1 sibling, 2 replies; 8+ messages in thread
From: Kevin Traynor @ 2018-08-01 10:47 UTC (permalink / raw)
  To: dev, Dumitrescu, Cristian; +Cc: Andy Green, Singh, Jasvinder

On 05/28/2018 04:31 AM, Andy Green wrote:
> Hi -
> 
> Between 18.02 and the putative 18.05 there were changes in the way the
> meter stuff deals with its config.
> 
> I updated the related code in lagopus, but I get warnings about using
> the new APIs (it's the same for rte_meter_trtcm_profile_config())
> 
> ./dpdk/meter.c: In function 'dpdk_register_meter':
> ./dpdk/meter.c:119:7: warning: 'rte_meter_srtcm_profile_config' is
> deprecated: Symbol is not yet part of stable ABI
> [-Wdeprecated-declarations]
>        rte_meter_srtcm_profile_config(&lband->sp, &param);
>        ^
> In file included from ./dpdk/meter.c:27:0:
> /home/agreen/lagopus/src/dpdk/build/include/rte_meter.h:86:1: note:
> declared here
>  rte_meter_srtcm_profile_config(struct rte_meter_srtcm_profile *p,
>  ^
> ./dpdk/meter.c:132:7: warning: 'rte_meter_srtcm_profile_config' is
> deprecated: Symbol is not yet part of stable ABI
> [-Wdeprecated-declarations]
>        rte_meter_srtcm_profile_config(&lband->sp, &param);
>        ^
> In file included from ./dpdk/meter.c:27:0:
> /home/agreen/lagopus/src/dpdk/build/include/rte_meter.h:86:1: note:
> declared here
>  rte_meter_srtcm_profile_config(struct rte_meter_srtcm_profile *p,
> 

Hi Cristian,

Are these API still to be considered experimental in 18.08, or the tags
can be removed?

Kevin.

> 
> As far as I can see this api change is not optional, it changes the
> parameters for related apis to require a struct prepared with these new
> apis.
> 
> -Andy

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [dpdk-dev] Stable ABI status of rte_meter_[t|s]rtcm_profile_config
  2018-08-01 10:47 ` Kevin Traynor
@ 2018-08-01 11:32   ` Andy Green
  2018-08-01 14:30   ` Dumitrescu, Cristian
  1 sibling, 0 replies; 8+ messages in thread
From: Andy Green @ 2018-08-01 11:32 UTC (permalink / raw)
  To: Kevin Traynor, dev, Dumitrescu, Cristian; +Cc: Singh, Jasvinder



On 08/01/2018 06:47 PM, Kevin Traynor wrote:
> On 05/28/2018 04:31 AM, Andy Green wrote:
>> Hi -
>>
>> Between 18.02 and the putative 18.05 there were changes in the way the
>> meter stuff deals with its config.
>>
>> I updated the related code in lagopus, but I get warnings about using
>> the new APIs (it's the same for rte_meter_trtcm_profile_config())
>>
>> ./dpdk/meter.c: In function 'dpdk_register_meter':
>> ./dpdk/meter.c:119:7: warning: 'rte_meter_srtcm_profile_config' is
>> deprecated: Symbol is not yet part of stable ABI
>> [-Wdeprecated-declarations]
>>         rte_meter_srtcm_profile_config(&lband->sp, &param);
>>         ^
>> In file included from ./dpdk/meter.c:27:0:
>> /home/agreen/lagopus/src/dpdk/build/include/rte_meter.h:86:1: note:
>> declared here
>>   rte_meter_srtcm_profile_config(struct rte_meter_srtcm_profile *p,
>>   ^
>> ./dpdk/meter.c:132:7: warning: 'rte_meter_srtcm_profile_config' is
>> deprecated: Symbol is not yet part of stable ABI
>> [-Wdeprecated-declarations]
>>         rte_meter_srtcm_profile_config(&lband->sp, &param);
>>         ^
>> In file included from ./dpdk/meter.c:27:0:
>> /home/agreen/lagopus/src/dpdk/build/include/rte_meter.h:86:1: note:
>> declared here
>>   rte_meter_srtcm_profile_config(struct rte_meter_srtcm_profile *p,
>>
> 
> Hi Cristian,
> 
> Are these API still to be considered experimental in 18.08, or the tags
> can be removed?

... to be clear that these apis claimed to be 'experimental' in 18.05 at 
all, when they aren't, is already broken in 18.05.

The only question is whether they want to continue ignoring the breakage 
into 18.08+ so future generations can enjoy it.

-Andy

> Kevin.
> 
>>
>> As far as I can see this api change is not optional, it changes the
>> parameters for related apis to require a struct prepared with these new
>> apis.
>>
>> -Andy
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [dpdk-dev] Stable ABI status of rte_meter_[t|s]rtcm_profile_config
  2018-08-01 10:47 ` Kevin Traynor
  2018-08-01 11:32   ` Andy Green
@ 2018-08-01 14:30   ` Dumitrescu, Cristian
  2018-08-01 14:36     ` Kevin Traynor
  1 sibling, 1 reply; 8+ messages in thread
From: Dumitrescu, Cristian @ 2018-08-01 14:30 UTC (permalink / raw)
  To: Kevin Traynor, dev; +Cc: Andy Green, Singh, Jasvinder



> -----Original Message-----
> From: Kevin Traynor [mailto:ktraynor@redhat.com]
> Sent: Wednesday, August 1, 2018 11:48 AM
> To: dev@dpdk.org; Dumitrescu, Cristian <cristian.dumitrescu@intel.com>
> Cc: Andy Green <andy@warmcat.com>; Singh, Jasvinder
> <jasvinder.singh@intel.com>
> Subject: Re: [dpdk-dev] Stable ABI status of
> rte_meter_[t|s]rtcm_profile_config
> 
> On 05/28/2018 04:31 AM, Andy Green wrote:
> > Hi -
> >
> > Between 18.02 and the putative 18.05 there were changes in the way the
> > meter stuff deals with its config.
> >
> > I updated the related code in lagopus, but I get warnings about using
> > the new APIs (it's the same for rte_meter_trtcm_profile_config())
> >
> > ./dpdk/meter.c: In function 'dpdk_register_meter':
> > ./dpdk/meter.c:119:7: warning: 'rte_meter_srtcm_profile_config' is
> > deprecated: Symbol is not yet part of stable ABI
> > [-Wdeprecated-declarations]
> >        rte_meter_srtcm_profile_config(&lband->sp, &param);
> >        ^
> > In file included from ./dpdk/meter.c:27:0:
> > /home/agreen/lagopus/src/dpdk/build/include/rte_meter.h:86:1: note:
> > declared here
> >  rte_meter_srtcm_profile_config(struct rte_meter_srtcm_profile *p,
> >  ^
> > ./dpdk/meter.c:132:7: warning: 'rte_meter_srtcm_profile_config' is
> > deprecated: Symbol is not yet part of stable ABI
> > [-Wdeprecated-declarations]
> >        rte_meter_srtcm_profile_config(&lband->sp, &param);
> >        ^
> > In file included from ./dpdk/meter.c:27:0:
> > /home/agreen/lagopus/src/dpdk/build/include/rte_meter.h:86:1: note:
> > declared here
> >  rte_meter_srtcm_profile_config(struct rte_meter_srtcm_profile *p,
> >
> 
> Hi Cristian,
> 
> Are these API still to be considered experimental in 18.08, or the tags
> can be removed?
> 
> Kevin.

No, we should remove the experimental tag on these functions.

> 
> >
> > As far as I can see this api change is not optional, it changes the
> > parameters for related apis to require a struct prepared with these new
> > apis.
> >
> > -Andy


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [dpdk-dev] Stable ABI status of rte_meter_[t|s]rtcm_profile_config
  2018-08-01 14:30   ` Dumitrescu, Cristian
@ 2018-08-01 14:36     ` Kevin Traynor
  0 siblings, 0 replies; 8+ messages in thread
From: Kevin Traynor @ 2018-08-01 14:36 UTC (permalink / raw)
  To: Dumitrescu, Cristian, dev; +Cc: Andy Green, Singh, Jasvinder

On 08/01/2018 03:30 PM, Dumitrescu, Cristian wrote:
> 
> 
>> -----Original Message-----
>> From: Kevin Traynor [mailto:ktraynor@redhat.com]
>> Sent: Wednesday, August 1, 2018 11:48 AM
>> To: dev@dpdk.org; Dumitrescu, Cristian <cristian.dumitrescu@intel.com>
>> Cc: Andy Green <andy@warmcat.com>; Singh, Jasvinder
>> <jasvinder.singh@intel.com>
>> Subject: Re: [dpdk-dev] Stable ABI status of
>> rte_meter_[t|s]rtcm_profile_config
>>
>> On 05/28/2018 04:31 AM, Andy Green wrote:
>>> Hi -
>>>
>>> Between 18.02 and the putative 18.05 there were changes in the way the
>>> meter stuff deals with its config.
>>>
>>> I updated the related code in lagopus, but I get warnings about using
>>> the new APIs (it's the same for rte_meter_trtcm_profile_config())
>>>
>>> ./dpdk/meter.c: In function 'dpdk_register_meter':
>>> ./dpdk/meter.c:119:7: warning: 'rte_meter_srtcm_profile_config' is
>>> deprecated: Symbol is not yet part of stable ABI
>>> [-Wdeprecated-declarations]
>>>        rte_meter_srtcm_profile_config(&lband->sp, &param);
>>>        ^
>>> In file included from ./dpdk/meter.c:27:0:
>>> /home/agreen/lagopus/src/dpdk/build/include/rte_meter.h:86:1: note:
>>> declared here
>>>  rte_meter_srtcm_profile_config(struct rte_meter_srtcm_profile *p,
>>>  ^
>>> ./dpdk/meter.c:132:7: warning: 'rte_meter_srtcm_profile_config' is
>>> deprecated: Symbol is not yet part of stable ABI
>>> [-Wdeprecated-declarations]
>>>        rte_meter_srtcm_profile_config(&lband->sp, &param);
>>>        ^
>>> In file included from ./dpdk/meter.c:27:0:
>>> /home/agreen/lagopus/src/dpdk/build/include/rte_meter.h:86:1: note:
>>> declared here
>>>  rte_meter_srtcm_profile_config(struct rte_meter_srtcm_profile *p,
>>>
>>
>> Hi Cristian,
>>
>> Are these API still to be considered experimental in 18.08, or the tags
>> can be removed?
>>
>> Kevin.
> 
> No, we should remove the experimental tag on these functions.
> 

ok, I just did a quick compile tested patch. Will send.

>>
>>>
>>> As far as I can see this api change is not optional, it changes the
>>> parameters for related apis to require a struct prepared with these new
>>> apis.
>>>
>>> -Andy
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-08-01 14:36 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-28  3:31 [dpdk-dev] Stable ABI status of rte_meter_[t|s]rtcm_profile_config Andy Green
2018-05-30  0:32 ` Andy Green
2018-05-30  9:55   ` Singh, Jasvinder
2018-05-30 10:13     ` Andy Green
2018-08-01 10:47 ` Kevin Traynor
2018-08-01 11:32   ` Andy Green
2018-08-01 14:30   ` Dumitrescu, Cristian
2018-08-01 14:36     ` Kevin Traynor

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).