[dpdk-dev] [dpdk-stable] [PATCH] mem: fix free segment when using huge-unlink option
David Marchand
david.marchand at redhat.com
Thu Mar 25 14:34:17 CET 2021
Hello,
On Mon, Mar 1, 2021 at 11:44 AM Burakov, Anatoly
<anatoly.burakov at intel.com> wrote:
>
> On 28-Feb-21 1:21 PM, Roy Shterman wrote:
> >
> >
> > On Mon, Feb 22, 2021 at 5:53 PM Burakov, Anatoly
> > <anatoly.burakov at intel.com <mailto:anatoly.burakov at intel.com>> wrote:
> >
> > On 22-Feb-21 10:41 AM, Roy Shterman wrote:
> > > When using huge_unlink we unlink the segment right
> > > after allocation. Although we unlink the file we keep
> > > the fd in fd_list so file still exist just the path deleted.
> > > When freeing the hugepage we need to close the fd and assign
> > > it with (-1) in fd_list for the page to be released.
> > >
> > > The current flow fails rte_malloc in the following flow when working
> > > with --huge-unlink option:
> > > 1. alloc_seg() for segment A -
> > > We allocate segment, unlink the path to the segment
> > > and keep the file descriptor in fd_list.
> > > 2. free_seg() for segment A -
> > > We clear the segment metadata and return - without closing fd
> > > or assigning (-1) in fd list.
> > > 3. alloc_seg() for segment A again -
> > > We find segment A as available, try to allocate it,
> > > find the old fd in fd_list try to unlink it
> > > as part of alloc_seg() but failed because path doesn't exist.
> > >
> > > The impact of such error is falsly failing rte_malloc()
> > > although we have hugepages available.
> > >
> > > Fixes: d435aad37da7 ("mem: support --huge-unlink mode")
> > >
> > > Signed-off-by: Roy Shterman <roy.shterman at vastdata.com
> > <mailto:roy.shterman at vastdata.com>>
> >
> > Cc: stable at dpdk.org <mailto:stable at dpdk.org>
> >
> > Provisionally, patch looks fine, but i'll have to have a closer look.
> >
> >
> > Hi Anatoly,
> >
> > Do I need to send this patch also to stable or it will happen
> > automatically if the patch will reach the next release candidate?
>
> Not automatically, generally you should add a CC to stable for the patch
> to be considered as part of stable release. That said, usually Fixed:
> tag is also used to determine whether a patch is backport-able, so
> having a correctly identified Fixed: tag is a mandatory minimum :)
>
> > Also I wonder if you had more time to review this one?
>
> Not yet, but i'll try to make some time this week.
Any update?
Thanks.
--
David Marchand
More information about the dev
mailing list