port: eventdev port api promoted
Checks
Commit Message
rte_port_eventdev_reader_ops, rte_port_eventdev_writer_nodrops_ops,
rte_port_eventdev_writer_ops symbols promoted
Signed-off-by: Rahul Shah <rahul.r.shah@intel.com>
---
lib/port/version.map | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
Comments
On 09/09/2021 17:40, Rahul Shah wrote:
> rte_port_eventdev_reader_ops, rte_port_eventdev_writer_nodrops_ops,
> rte_port_eventdev_writer_ops symbols promoted
>
> Signed-off-by: Rahul Shah <rahul.r.shah@intel.com>
> ---
> lib/port/version.map | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
Hi Rahul,
You need to strip the __rte_experimental attribute in the header file also.
Ray K
On Fri, Sep 10, 2021 at 9:31 AM Kinsella, Ray <mdr@ashroe.eu> wrote:
> On 09/09/2021 17:40, Rahul Shah wrote:
> > rte_port_eventdev_reader_ops, rte_port_eventdev_writer_nodrops_ops,
> > rte_port_eventdev_writer_ops symbols promoted
> >
> > Signed-off-by: Rahul Shah <rahul.r.shah@intel.com>
> > ---
> > lib/port/version.map | 8 +++-----
> > 1 file changed, 3 insertions(+), 5 deletions(-)
> >
>
> Hi Rahul,
>
> You need to strip the __rte_experimental attribute in the header file also.
That's what I first thought... but those are variables, and there were
not marked in the header.
At least, those symbols must be alphabetically sorted in version.map.
About checking for experimental mark on variables... I had a patch,
but never got it in.
I think we should instead (forbid such exports and|insist on) rework
API / libraries that rely on public variables.
On 10/09/2021 08:36, David Marchand wrote:
> On Fri, Sep 10, 2021 at 9:31 AM Kinsella, Ray <mdr@ashroe.eu> wrote:
>> On 09/09/2021 17:40, Rahul Shah wrote:
>>> rte_port_eventdev_reader_ops, rte_port_eventdev_writer_nodrops_ops,
>>> rte_port_eventdev_writer_ops symbols promoted
>>>
>>> Signed-off-by: Rahul Shah <rahul.r.shah@intel.com>
>>> ---
>>> lib/port/version.map | 8 +++-----
>>> 1 file changed, 3 insertions(+), 5 deletions(-)
>>>
>>
>> Hi Rahul,
>>
>> You need to strip the __rte_experimental attribute in the header file also.
>
> That's what I first thought... but those are variables, and there were
> not marked in the header.
My mistake - should have checked.
> At least, those symbols must be alphabetically sorted in version.map.
>
>
> About checking for experimental mark on variables... I had a patch,
> but never got it in.
> I think we should instead (forbid such exports and|insist on) rework
> API / libraries that rely on public variables.
>
I'll pull together a script to identify all the variables in DPDK.
Are you expecting the rework on the port api to be done prior to 21.11?
Ray K
+Cc Cristian, the maintainer
10/09/2021 15:40, Kinsella, Ray:
> On 10/09/2021 08:36, David Marchand wrote:
> > On Fri, Sep 10, 2021 at 9:31 AM Kinsella, Ray <mdr@ashroe.eu> wrote:
> >> On 09/09/2021 17:40, Rahul Shah wrote:
> >>> rte_port_eventdev_reader_ops, rte_port_eventdev_writer_nodrops_ops,
> >>> rte_port_eventdev_writer_ops symbols promoted
> >>>
> >>> Signed-off-by: Rahul Shah <rahul.r.shah@intel.com>
> >>> ---
> >>> lib/port/version.map | 8 +++-----
> >>> 1 file changed, 3 insertions(+), 5 deletions(-)
> >>
> >> Hi Rahul,
> >>
> >> You need to strip the __rte_experimental attribute in the header file also.
> >
> > That's what I first thought... but those are variables, and there were
> > not marked in the header.
>
> My mistake - should have checked.
>
> > At least, those symbols must be alphabetically sorted in version.map.
> >
> > About checking for experimental mark on variables... I had a patch,
> > but never got it in.
> > I think we should instead (forbid such exports and|insist on) rework
> > API / libraries that rely on public variables.
>
> I'll pull together a script to identify all the variables in DPDK.
> Are you expecting the rework on the port api to be done prior to 21.11?
Does it mean we should not promote these variables?
On 13/10/2021 13:12, Thomas Monjalon wrote:
> +Cc Cristian, the maintainer
>
> 10/09/2021 15:40, Kinsella, Ray:
>> On 10/09/2021 08:36, David Marchand wrote:
>>> On Fri, Sep 10, 2021 at 9:31 AM Kinsella, Ray <mdr@ashroe.eu> wrote:
>>>> On 09/09/2021 17:40, Rahul Shah wrote:
>>>>> rte_port_eventdev_reader_ops, rte_port_eventdev_writer_nodrops_ops,
>>>>> rte_port_eventdev_writer_ops symbols promoted
>>>>>
>>>>> Signed-off-by: Rahul Shah <rahul.r.shah@intel.com>
>>>>> ---
>>>>> lib/port/version.map | 8 +++-----
>>>>> 1 file changed, 3 insertions(+), 5 deletions(-)
>>>>
>>>> Hi Rahul,
>>>>
>>>> You need to strip the __rte_experimental attribute in the header file also.
>>>
>>> That's what I first thought... but those are variables, and there were
>>> not marked in the header.
>>
>> My mistake - should have checked.
>>
>>> At least, those symbols must be alphabetically sorted in version.map.
>>>
>>> About checking for experimental mark on variables... I had a patch,
>>> but never got it in.
>>> I think we should instead (forbid such exports and|insist on) rework
>>> API / libraries that rely on public variables.
>>
>> I'll pull together a script to identify all the variables in DPDK.
>> Are you expecting the rework on the port api to be done prior to 21.11?
>
> Does it mean we should not promote these variables?
>
>
So the net-net is that variables are almost impossible to version.
Think about maintaining two parallel versions of the same variable, and having to track and reconcile state between them.
So variables are make ABI versioning (and maintenance) harder, and are best avoided.
In this particular case.
I would suggest leaving these as experimental and improving the API, post 21.11.
Ray K
@@ -27,6 +27,9 @@ DPDK_22 {
rte_port_sym_crypto_reader_ops;
rte_port_sym_crypto_writer_nodrop_ops;
rte_port_sym_crypto_writer_ops;
+ rte_port_eventdev_reader_ops;
+ rte_port_eventdev_writer_nodrop_ops;
+ rte_port_eventdev_writer_ops;
local: *;
};
@@ -34,11 +37,6 @@ DPDK_22 {
EXPERIMENTAL {
global:
- # added in 19.11
- rte_port_eventdev_reader_ops;
- rte_port_eventdev_writer_nodrop_ops;
- rte_port_eventdev_writer_ops;
-
# added in 20.11
rte_swx_port_ethdev_reader_ops;
rte_swx_port_ethdev_writer_ops;