* [dpdk-dev] [PATCH] doc: deprecate using MAX values as array size
@ 2020-01-30 14:20 Ferruh Yigit
2020-02-21 10:25 ` Ferruh Yigit
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Ferruh Yigit @ 2020-01-30 14:20 UTC (permalink / raw)
To: Neil Horman, John McNamara, Marko Kovacevic; +Cc: dev
Adding the deprecation notice as reminder for next ABI breakage release
(20.11).
This one time breakage is required to be able to extend enum/define
without breaking ABI.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
doc/guides/rel_notes/deprecation.rst | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index dfcca87ab..99d81564a 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -38,6 +38,20 @@ Deprecation Notices
remove it from the externally visible ABI and allow it to be updated in the
future.
+* lib: will fix extending some enum/define breaking the ABI. There are multiple
+ samples in DPDK that enum/define terminated with a ``.*MAX.*`` value which is
+ used by iterators, and arrays holding these values are sized with this
+ ``.*MAX.*`` value. So extending this enum/define increases the ``.*MAX.*``
+ value which increases the size of the array and depending on how/where the
+ array is used this may break the ABI.
+ ``RTE_ETH_FLOW_MAX`` is one sample of the mentioned case, adding a new flow
+ type will break the ABI because of ``flex_mask[RTE_ETH_FLOW_MAX]`` array
+ usage in following public struct hierarchy:
+ ``rte_eth_fdir_flex_conf -> rte_fdir_conf -> rte_eth_conf (in the middle)``.
+ Need to identify this kind of usages and fix in 20.11, otherwise this blocks
+ us extending existing enum/define.
+ One solution can be using a fixed size array instead of ``.*MAX.*`` value.
+
* dpaa2: removal of ``rte_dpaa2_memsegs`` structure which has been replaced
by a pa-va search library. This structure was earlier being used for holding
memory segments used by dpaa2 driver for faster pa->va translation. This
--
2.24.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] [PATCH] doc: deprecate using MAX values as array size
2020-01-30 14:20 [dpdk-dev] [PATCH] doc: deprecate using MAX values as array size Ferruh Yigit
@ 2020-02-21 10:25 ` Ferruh Yigit
2020-02-24 6:18 ` Akhil Goyal
2020-02-24 8:51 ` Andrew Rybchenko
2020-02-25 13:52 ` David Marchand
2020-02-25 14:53 ` David Marchand
2 siblings, 2 replies; 7+ messages in thread
From: Ferruh Yigit @ 2020-02-21 10:25 UTC (permalink / raw)
To: Neil Horman, John McNamara, Marko Kovacevic
Cc: dev, Thomas Monjalon, Bruce Richardson, Akhil Goyal,
Konstantin Ananyev, David Marchand, Jerin Jacob,
Andrew Rybchenko, Ori Kam
On 1/30/2020 2:20 PM, Ferruh Yigit wrote:
> Adding the deprecation notice as reminder for next ABI breakage release
> (20.11).
> This one time breakage is required to be able to extend enum/define
> without breaking ABI.
>
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> ---
> doc/guides/rel_notes/deprecation.rst | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
> index dfcca87ab..99d81564a 100644
> --- a/doc/guides/rel_notes/deprecation.rst
> +++ b/doc/guides/rel_notes/deprecation.rst
> @@ -38,6 +38,20 @@ Deprecation Notices
> remove it from the externally visible ABI and allow it to be updated in the
> future.
>
> +* lib: will fix extending some enum/define breaking the ABI. There are multiple
> + samples in DPDK that enum/define terminated with a ``.*MAX.*`` value which is
> + used by iterators, and arrays holding these values are sized with this
> + ``.*MAX.*`` value. So extending this enum/define increases the ``.*MAX.*``
> + value which increases the size of the array and depending on how/where the
> + array is used this may break the ABI.
> + ``RTE_ETH_FLOW_MAX`` is one sample of the mentioned case, adding a new flow
> + type will break the ABI because of ``flex_mask[RTE_ETH_FLOW_MAX]`` array
> + usage in following public struct hierarchy:
> + ``rte_eth_fdir_flex_conf -> rte_fdir_conf -> rte_eth_conf (in the middle)``.
> + Need to identify this kind of usages and fix in 20.11, otherwise this blocks
> + us extending existing enum/define.
> + One solution can be using a fixed size array instead of ``.*MAX.*`` value.
> +
> * dpaa2: removal of ``rte_dpaa2_memsegs`` structure which has been replaced
> by a pa-va search library. This structure was earlier being used for holding
> memory segments used by dpaa2 driver for faster pa->va translation. This
>
Reminder of this deprecation notice.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] [PATCH] doc: deprecate using MAX values as array size
2020-02-21 10:25 ` Ferruh Yigit
@ 2020-02-24 6:18 ` Akhil Goyal
2020-02-25 11:03 ` Thomas Monjalon
2020-02-24 8:51 ` Andrew Rybchenko
1 sibling, 1 reply; 7+ messages in thread
From: Akhil Goyal @ 2020-02-24 6:18 UTC (permalink / raw)
To: Ferruh Yigit, Neil Horman, John McNamara, Marko Kovacevic
Cc: dev, Thomas Monjalon, Bruce Richardson, Konstantin Ananyev,
David Marchand, Jerin Jacob, Andrew Rybchenko, Ori Kam
>
> On 1/30/2020 2:20 PM, Ferruh Yigit wrote:
> > Adding the deprecation notice as reminder for next ABI breakage release
> > (20.11).
> > This one time breakage is required to be able to extend enum/define
> > without breaking ABI.
> >
> > Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> > ---
> > doc/guides/rel_notes/deprecation.rst | 14 ++++++++++++++
> > 1 file changed, 14 insertions(+)
> >
> > diff --git a/doc/guides/rel_notes/deprecation.rst
> b/doc/guides/rel_notes/deprecation.rst
> > index dfcca87ab..99d81564a 100644
> > --- a/doc/guides/rel_notes/deprecation.rst
> > +++ b/doc/guides/rel_notes/deprecation.rst
> > @@ -38,6 +38,20 @@ Deprecation Notices
> > remove it from the externally visible ABI and allow it to be updated in the
> > future.
> >
> > +* lib: will fix extending some enum/define breaking the ABI. There are
> multiple
> > + samples in DPDK that enum/define terminated with a ``.*MAX.*`` value
> which is
> > + used by iterators, and arrays holding these values are sized with this
> > + ``.*MAX.*`` value. So extending this enum/define increases the ``.*MAX.*``
> > + value which increases the size of the array and depending on how/where the
> > + array is used this may break the ABI.
> > + ``RTE_ETH_FLOW_MAX`` is one sample of the mentioned case, adding a
> new flow
> > + type will break the ABI because of ``flex_mask[RTE_ETH_FLOW_MAX]``
> array
> > + usage in following public struct hierarchy:
> > + ``rte_eth_fdir_flex_conf -> rte_fdir_conf -> rte_eth_conf (in the middle)``.
> > + Need to identify this kind of usages and fix in 20.11, otherwise this blocks
> > + us extending existing enum/define.
> > + One solution can be using a fixed size array instead of ``.*MAX.*`` value.
> > +
> > * dpaa2: removal of ``rte_dpaa2_memsegs`` structure which has been
> replaced
> > by a pa-va search library. This structure was earlier being used for holding
> > memory segments used by dpaa2 driver for faster pa->va translation. This
> >
>
We admit that the issue is there and we can discuss the possible solutions for this issue.
For the deprecation notice.
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] [PATCH] doc: deprecate using MAX values as array size
2020-02-21 10:25 ` Ferruh Yigit
2020-02-24 6:18 ` Akhil Goyal
@ 2020-02-24 8:51 ` Andrew Rybchenko
1 sibling, 0 replies; 7+ messages in thread
From: Andrew Rybchenko @ 2020-02-24 8:51 UTC (permalink / raw)
To: Ferruh Yigit, Neil Horman, John McNamara, Marko Kovacevic
Cc: dev, Thomas Monjalon, Bruce Richardson, Akhil Goyal,
Konstantin Ananyev, David Marchand, Jerin Jacob, Ori Kam
On 2/21/20 1:25 PM, Ferruh Yigit wrote:
> On 1/30/2020 2:20 PM, Ferruh Yigit wrote:
>> Adding the deprecation notice as reminder for next ABI breakage release
>> (20.11).
>> This one time breakage is required to be able to extend enum/define
>> without breaking ABI.
>>
>> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
>> ---
>> doc/guides/rel_notes/deprecation.rst | 14 ++++++++++++++
>> 1 file changed, 14 insertions(+)
>>
>> diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
>> index dfcca87ab..99d81564a 100644
>> --- a/doc/guides/rel_notes/deprecation.rst
>> +++ b/doc/guides/rel_notes/deprecation.rst
>> @@ -38,6 +38,20 @@ Deprecation Notices
>> remove it from the externally visible ABI and allow it to be updated in the
>> future.
>>
>> +* lib: will fix extending some enum/define breaking the ABI. There are multiple
>> + samples in DPDK that enum/define terminated with a ``.*MAX.*`` value which is
>> + used by iterators, and arrays holding these values are sized with this
>> + ``.*MAX.*`` value. So extending this enum/define increases the ``.*MAX.*``
>> + value which increases the size of the array and depending on how/where the
>> + array is used this may break the ABI.
>> + ``RTE_ETH_FLOW_MAX`` is one sample of the mentioned case, adding a new flow
>> + type will break the ABI because of ``flex_mask[RTE_ETH_FLOW_MAX]`` array
>> + usage in following public struct hierarchy:
>> + ``rte_eth_fdir_flex_conf -> rte_fdir_conf -> rte_eth_conf (in the middle)``.
>> + Need to identify this kind of usages and fix in 20.11, otherwise this blocks
>> + us extending existing enum/define.
>> + One solution can be using a fixed size array instead of ``.*MAX.*`` value.
>> +
>> * dpaa2: removal of ``rte_dpaa2_memsegs`` structure which has been replaced
>> by a pa-va search library. This structure was earlier being used for holding
>> memory segments used by dpaa2 driver for faster pa->va translation. This
>>
> Reminder of this deprecation notice.
Acked-by: Andrew Rybchenko <arybchenko@oktetlabs.ru>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] [PATCH] doc: deprecate using MAX values as array size
2020-02-24 6:18 ` Akhil Goyal
@ 2020-02-25 11:03 ` Thomas Monjalon
0 siblings, 0 replies; 7+ messages in thread
From: Thomas Monjalon @ 2020-02-25 11:03 UTC (permalink / raw)
To: Ferruh Yigit
Cc: Neil Horman, John McNamara, Marko Kovacevic, dev,
Bruce Richardson, Konstantin Ananyev, David Marchand,
Andrew Rybchenko, Ori Kam, Akhil Goyal
> > > Adding the deprecation notice as reminder for next ABI breakage release
> > > (20.11).
> > > This one time breakage is required to be able to extend enum/define
> > > without breaking ABI.
> > >
> > > Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> > > ---
> > > +* lib: will fix extending some enum/define breaking the ABI. There are
> > multiple
> > > + samples in DPDK that enum/define terminated with a ``.*MAX.*`` value
> > which is
> > > + used by iterators, and arrays holding these values are sized with this
> > > + ``.*MAX.*`` value. So extending this enum/define increases the ``.*MAX.*``
> > > + value which increases the size of the array and depending on how/where the
> > > + array is used this may break the ABI.
> > > + ``RTE_ETH_FLOW_MAX`` is one sample of the mentioned case, adding a
> > new flow
> > > + type will break the ABI because of ``flex_mask[RTE_ETH_FLOW_MAX]``
> > array
> > > + usage in following public struct hierarchy:
> > > + ``rte_eth_fdir_flex_conf -> rte_fdir_conf -> rte_eth_conf (in the middle)``.
> > > + Need to identify this kind of usages and fix in 20.11, otherwise this blocks
> > > + us extending existing enum/define.
> > > + One solution can be using a fixed size array instead of ``.*MAX.*`` value.
> >
> We admit that the issue is there and we can discuss the possible solutions for this issue.
>
> For the deprecation notice.
> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
I think we'll need a new coding style guideline to avoid shuch issue in future.
Anyway, about fixing the issue in 20.11,
Acked-by: Thomas Monjalon <thomas@monjalon.net>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] [PATCH] doc: deprecate using MAX values as array size
2020-01-30 14:20 [dpdk-dev] [PATCH] doc: deprecate using MAX values as array size Ferruh Yigit
2020-02-21 10:25 ` Ferruh Yigit
@ 2020-02-25 13:52 ` David Marchand
2020-02-25 14:53 ` David Marchand
2 siblings, 0 replies; 7+ messages in thread
From: David Marchand @ 2020-02-25 13:52 UTC (permalink / raw)
To: Ferruh Yigit; +Cc: Neil Horman, John McNamara, Marko Kovacevic, dev
On Thu, Jan 30, 2020 at 3:20 PM Ferruh Yigit <ferruh.yigit@intel.com> wrote:
> Adding the deprecation notice as reminder for next ABI breakage release
> (20.11).
> This one time breakage is required to be able to extend enum/define
> without breaking ABI.
>
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> ---
> doc/guides/rel_notes/deprecation.rst | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
> index dfcca87ab..99d81564a 100644
> --- a/doc/guides/rel_notes/deprecation.rst
> +++ b/doc/guides/rel_notes/deprecation.rst
> @@ -38,6 +38,20 @@ Deprecation Notices
> remove it from the externally visible ABI and allow it to be updated in the
> future.
>
> +* lib: will fix extending some enum/define breaking the ABI. There are multiple
> + samples in DPDK that enum/define terminated with a ``.*MAX.*`` value which is
> + used by iterators, and arrays holding these values are sized with this
> + ``.*MAX.*`` value. So extending this enum/define increases the ``.*MAX.*``
> + value which increases the size of the array and depending on how/where the
> + array is used this may break the ABI.
> + ``RTE_ETH_FLOW_MAX`` is one sample of the mentioned case, adding a new flow
> + type will break the ABI because of ``flex_mask[RTE_ETH_FLOW_MAX]`` array
> + usage in following public struct hierarchy:
> + ``rte_eth_fdir_flex_conf -> rte_fdir_conf -> rte_eth_conf (in the middle)``.
> + Need to identify this kind of usages and fix in 20.11, otherwise this blocks
> + us extending existing enum/define.
> + One solution can be using a fixed size array instead of ``.*MAX.*`` value.
> +
> * dpaa2: removal of ``rte_dpaa2_memsegs`` structure which has been replaced
> by a pa-va search library. This structure was earlier being used for holding
> memory segments used by dpaa2 driver for faster pa->va translation. This
> --
> 2.24.1
>
Acked-by: David Marchand <david.marchand@redhat.com>
--
David Marchand
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] [PATCH] doc: deprecate using MAX values as array size
2020-01-30 14:20 [dpdk-dev] [PATCH] doc: deprecate using MAX values as array size Ferruh Yigit
2020-02-21 10:25 ` Ferruh Yigit
2020-02-25 13:52 ` David Marchand
@ 2020-02-25 14:53 ` David Marchand
2 siblings, 0 replies; 7+ messages in thread
From: David Marchand @ 2020-02-25 14:53 UTC (permalink / raw)
To: Ferruh Yigit; +Cc: Neil Horman, John McNamara, Marko Kovacevic, dev
On Thu, Jan 30, 2020 at 3:20 PM Ferruh Yigit <ferruh.yigit@intel.com> wrote:
> Adding the deprecation notice as reminder for next ABI breakage release
> (20.11).
> This one time breakage is required to be able to extend enum/define
> without breaking ABI.
>
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: David Marchand <david.marchand@redhat.com>
Applied, thanks.
--
David Marchand
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2020-02-25 14:53 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-30 14:20 [dpdk-dev] [PATCH] doc: deprecate using MAX values as array size Ferruh Yigit
2020-02-21 10:25 ` Ferruh Yigit
2020-02-24 6:18 ` Akhil Goyal
2020-02-25 11:03 ` Thomas Monjalon
2020-02-24 8:51 ` Andrew Rybchenko
2020-02-25 13:52 ` David Marchand
2020-02-25 14:53 ` David Marchand
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).