[External] Re: [RFC PATCH] move memset out of hold lock when rte_free

Fengnan Chang changfengnan at bytedance.com
Tue Sep 12 04:44:50 CEST 2023


This patch still have problem, I'll fix next version.

Stephen Hemminger <stephen at networkplumber.org> 于2023年9月6日周三 23:08写道:
>
> On Thu, 31 Aug 2023 19:19:37 +0800
> Fengnan Chang <changfengnan at bytedance.com> wrote:
>
> > +#ifndef RTE_MALLOC_DEBUG
> > +     if (internal_conf->legacy_mem) {
> > +             /* If orig_elem is dirty, the joint element is clean, we need do memset now */
> > +             if (elem->orig_elem->dirty && !elem->dirty)
> > +                     memset(ptr, 0, data_len);
> > +     } else if (!elem->dirty) {
> > +             memset(ptr, 0, data_len);
> > +     }
> > +#else
> > +     /* Always poison the memory in debug mode. */
> > +     memset(ptr, MALLOC_POISON, data_len);
> > +#endif
>
> The code reads better if positive clause was first.

Got it,  I'll do as you suggest in next version.
> I.e.
>
> #ifdef RTE_MALLOC_DEBUG
>         /* Always poison the memory in debug mode. */
>         memset(ptr, MALLOC_POISON, data_len);
> #else
> ...


More information about the dev mailing list