26/11/2019 14:39, Xueming(Steven) Li: > > > -----Original Message----- > > From: Thomas Monjalon <tho...@monjalon.net> > > Sent: Tuesday, November 26, 2019 9:30 PM > > To: Burakov, Anatoly <anatoly.bura...@intel.com> > > Cc: Xueming(Steven) Li <xuemi...@mellanox.com>; dev@dpdk.org; Asaf > > Penso <as...@mellanox.com>; sta...@dpdk.org; > > david.march...@redhat.com > > Subject: Re: [dpdk-dev] [PATCH] malloc: fix memory element size in case of > > padding > > > > 26/11/2019 13:57, Burakov, Anatoly: > > > On 25-Nov-19 11:24 PM, Thomas Monjalon wrote: > > > > 21/11/2019 16:14, Burakov, Anatoly: > > > >> On 21-Nov-19 2:25 PM, Xueming Li wrote: > > > >>> This patch fixes wrong inner memory element size when joining two > > > >>> elements. > > > >>> > > > >>> Fixes: af75078fece3 ("first public release") > > > >>> Cc: sta...@dpdk.org > > > >>> > > > >>> Signed-off-by: Xueming Li <xuemi...@mellanox.com> > > > >>> --- > > > >>> --- a/lib/librte_eal/common/malloc_elem.c > > > >>> +++ b/lib/librte_eal/common/malloc_elem.c > > > >>> @@ -487,6 +487,10 @@ join_elem(struct malloc_elem *elem1, struct > > malloc_elem *elem2) > > > >>> else > > > >>> elem1->heap->last = elem1; > > > >>> elem1->next = next; > > > >>> + if (elem1->pad) { > > > >>> + struct malloc_elem *inner = RTE_PTR_ADD(elem1, elem1- > > >pad); > > > >>> + inner->size = elem1->size - elem1->pad; > > > >>> + } > > > >>> } > > > >> > > > >> Reviewed-by: Anatoly Burakov <anatoly.bura...@intel.com> > > > > > > > > I don't understand this patch. > > > > The variable inner is never used. > > > > What am I missing? > > > > > > > > > > For padded elements, malloc element has two headers - the "outer" > > > header with empty space after it, and the "inner" header, after which > > > the user memory actually starts. This makes it so that, when joining > > > elements, if the outer element had a pad, we also update the inner > > element size to match. > > > > Where the variable "inner" is used in this function? > > > Rte_realloc, inner size is used to copy data.
I still don't get it. Am I missing half of the patch? Please give explicit line number.