mbuf: remove unused next member
Checks
Commit Message
TAILQ_ENTRY next is not needed in struct mbuf_dynfield_elt and
mbuf_dynflag_elt, since they are actually chained by rte_tailq_entry's
next field when calling TAILQ_INSERT_TAIL(mbuf_dynfield/dynflag_list, te,
next).
Fixes: 4958ca3a443a ("mbuf: support dynamic fields and flags")
Cc: stable@dpdk.org
Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
---
I found this issue when reading the mbuf dynfiled/dynflag feature code,
mbuf_autotest is passed with this change, though I may miss something or
this filed has some special design purpose, please correct me if I am
wrong.
lib/librte_mbuf/rte_mbuf_dyn.c | 2 --
1 file changed, 2 deletions(-)
Comments
On 06/09, Olivier Matz wrote:
>Hi Xialong,
>
>On Tue, Jun 09, 2020 at 01:29:55PM +0800, Xiaolong Ye wrote:
>> TAILQ_ENTRY next is not needed in struct mbuf_dynfield_elt and
>> mbuf_dynflag_elt, since they are actually chained by rte_tailq_entry's
>> next field when calling TAILQ_INSERT_TAIL(mbuf_dynfield/dynflag_list, te,
>> next).
>>
>> Fixes: 4958ca3a443a ("mbuf: support dynamic fields and flags")
>> Cc: stable@dpdk.org
>>
>> Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
>
>Good catch, I forgot to remove this field which was used in former
>implementations. Thanks!
>
>I suggest to update the title to highlight it's about dynamic mbuf:
> mbuf: remove unused next member in dyn flag/field
>
>Apart from this:
>Acked-by: Olivier Matz <olivier.matz@6wind.com>
Thanks for the ack, I'll submit V2 with suggested subject.
Thanks,
Xiaolong
>
>> ---
>>
>> I found this issue when reading the mbuf dynfiled/dynflag feature code,
>> mbuf_autotest is passed with this change, though I may miss something or
>> this filed has some special design purpose, please correct me if I am
>> wrong.
>>
>> lib/librte_mbuf/rte_mbuf_dyn.c | 2 --
>> 1 file changed, 2 deletions(-)
>>
>> diff --git a/lib/librte_mbuf/rte_mbuf_dyn.c b/lib/librte_mbuf/rte_mbuf_dyn.c
>> index d6931f847..953e3ec31 100644
>> --- a/lib/librte_mbuf/rte_mbuf_dyn.c
>> +++ b/lib/librte_mbuf/rte_mbuf_dyn.c
>> @@ -19,7 +19,6 @@
>> #define RTE_MBUF_DYN_MZNAME "rte_mbuf_dyn"
>>
>> struct mbuf_dynfield_elt {
>> - TAILQ_ENTRY(mbuf_dynfield_elt) next;
>> struct rte_mbuf_dynfield params;
>> size_t offset;
>> };
>> @@ -31,7 +30,6 @@ static struct rte_tailq_elem mbuf_dynfield_tailq = {
>> EAL_REGISTER_TAILQ(mbuf_dynfield_tailq);
>>
>> struct mbuf_dynflag_elt {
>> - TAILQ_ENTRY(mbuf_dynflag_elt) next;
>> struct rte_mbuf_dynflag params;
>> unsigned int bitnum;
>> };
>> --
>> 2.17.1
>>
Hi Xialong,
On Tue, Jun 09, 2020 at 01:29:55PM +0800, Xiaolong Ye wrote:
> TAILQ_ENTRY next is not needed in struct mbuf_dynfield_elt and
> mbuf_dynflag_elt, since they are actually chained by rte_tailq_entry's
> next field when calling TAILQ_INSERT_TAIL(mbuf_dynfield/dynflag_list, te,
> next).
>
> Fixes: 4958ca3a443a ("mbuf: support dynamic fields and flags")
> Cc: stable@dpdk.org
>
> Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
Good catch, I forgot to remove this field which was used in former
implementations. Thanks!
I suggest to update the title to highlight it's about dynamic mbuf:
mbuf: remove unused next member in dyn flag/field
Apart from this:
Acked-by: Olivier Matz <olivier.matz@6wind.com>
> ---
>
> I found this issue when reading the mbuf dynfiled/dynflag feature code,
> mbuf_autotest is passed with this change, though I may miss something or
> this filed has some special design purpose, please correct me if I am
> wrong.
>
> lib/librte_mbuf/rte_mbuf_dyn.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/lib/librte_mbuf/rte_mbuf_dyn.c b/lib/librte_mbuf/rte_mbuf_dyn.c
> index d6931f847..953e3ec31 100644
> --- a/lib/librte_mbuf/rte_mbuf_dyn.c
> +++ b/lib/librte_mbuf/rte_mbuf_dyn.c
> @@ -19,7 +19,6 @@
> #define RTE_MBUF_DYN_MZNAME "rte_mbuf_dyn"
>
> struct mbuf_dynfield_elt {
> - TAILQ_ENTRY(mbuf_dynfield_elt) next;
> struct rte_mbuf_dynfield params;
> size_t offset;
> };
> @@ -31,7 +30,6 @@ static struct rte_tailq_elem mbuf_dynfield_tailq = {
> EAL_REGISTER_TAILQ(mbuf_dynfield_tailq);
>
> struct mbuf_dynflag_elt {
> - TAILQ_ENTRY(mbuf_dynflag_elt) next;
> struct rte_mbuf_dynflag params;
> unsigned int bitnum;
> };
> --
> 2.17.1
>
On Tue, 9 Jun 2020 15:15:33 +0800
Ye Xiaolong <xiaolong.ye@intel.com> wrote:
> On 06/09, Olivier Matz wrote:
> >Hi Xialong,
> >
> >On Tue, Jun 09, 2020 at 01:29:55PM +0800, Xiaolong Ye wrote:
> >> TAILQ_ENTRY next is not needed in struct mbuf_dynfield_elt and
> >> mbuf_dynflag_elt, since they are actually chained by rte_tailq_entry's
> >> next field when calling TAILQ_INSERT_TAIL(mbuf_dynfield/dynflag_list, te,
> >> next).
> >>
> >> Fixes: 4958ca3a443a ("mbuf: support dynamic fields and flags")
> >> Cc: stable@dpdk.org
> >>
> >> Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
> >
> >Good catch, I forgot to remove this field which was used in former
> >implementations. Thanks!
> >
> >I suggest to update the title to highlight it's about dynamic mbuf:
> > mbuf: remove unused next member in dyn flag/field
> >
> >Apart from this:
> >Acked-by: Olivier Matz <olivier.matz@6wind.com>
>
> Thanks for the ack, I'll submit V2 with suggested subject.
>
> Thanks,
> Xiaolong
Is the field visible in ABI?
On 06/09, Stephen Hemminger wrote:
>On Tue, 9 Jun 2020 15:15:33 +0800
>Ye Xiaolong <xiaolong.ye@intel.com> wrote:
>
>> On 06/09, Olivier Matz wrote:
>> >Hi Xialong,
>> >
>> >On Tue, Jun 09, 2020 at 01:29:55PM +0800, Xiaolong Ye wrote:
>> >> TAILQ_ENTRY next is not needed in struct mbuf_dynfield_elt and
>> >> mbuf_dynflag_elt, since they are actually chained by rte_tailq_entry's
>> >> next field when calling TAILQ_INSERT_TAIL(mbuf_dynfield/dynflag_list, te,
>> >> next).
>> >>
>> >> Fixes: 4958ca3a443a ("mbuf: support dynamic fields and flags")
>> >> Cc: stable@dpdk.org
>> >>
>> >> Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
>> >
>> >Good catch, I forgot to remove this field which was used in former
>> >implementations. Thanks!
>> >
>> >I suggest to update the title to highlight it's about dynamic mbuf:
>> > mbuf: remove unused next member in dyn flag/field
>> >
>> >Apart from this:
>> >Acked-by: Olivier Matz <olivier.matz@6wind.com>
>>
>> Thanks for the ack, I'll submit V2 with suggested subject.
>>
>> Thanks,
>> Xiaolong
>
>Is the field visible in ABI?
I don't think so, the touched structs in this patch mbuf_dynfield_elt and
mbuf_dynflag_elt are internal structures used in rte_mbuf_dyn.c, and structures
exposed to user are struct rte_mbuf_dynfield and rte_mbuf_dynflag in
rte_mbuf_dyn.h, and they still keep the same as before, so there should be no
ABI break in this patch.
Thanks,
Xiaolong
@@ -19,7 +19,6 @@
#define RTE_MBUF_DYN_MZNAME "rte_mbuf_dyn"
struct mbuf_dynfield_elt {
- TAILQ_ENTRY(mbuf_dynfield_elt) next;
struct rte_mbuf_dynfield params;
size_t offset;
};
@@ -31,7 +30,6 @@ static struct rte_tailq_elem mbuf_dynfield_tailq = {
EAL_REGISTER_TAILQ(mbuf_dynfield_tailq);
struct mbuf_dynflag_elt {
- TAILQ_ENTRY(mbuf_dynflag_elt) next;
struct rte_mbuf_dynflag params;
unsigned int bitnum;
};