Re: [External] Re: [PATCH v10 04/11] mm/hugetlb: Defer freeing of HugeTLB pages

From: Muchun Song
Date: Mon Dec 21 2020 - 13:12:46 EST


On Mon, Dec 21, 2020 at 10:14 PM Oscar Salvador <osalvador@xxxxxxx> wrote:
>
> On Mon, Dec 21, 2020 at 07:07:18PM +0800, Muchun Song wrote:
> > > The above implies that update_and_free_page() is __always__ called from a
> > > non-task context, but that is not always the case?
> >
> > IIUC, here is always the case.
>
> I might be missing something obvious, so bear with me.
>
> I guess you are refering to the call __free_huge_page()->update_and_free_page().
> AFAICS, free_huge_page might call __free_huge_page right away when in task
> context, and so, we would be calling update_and_free in a task context as well.

Yeah. You are right. I mean the call __free_huge_page()->update_and_free_page().
Because update_and_free_page is called under hugetlb_lock, it is
non-task context,
right?


>
> Or are you referring to the other callers?
>
> --
> Oscar Salvador
> SUSE L3



--
Yours,
Muchun