Re: [External] Re: [PATCH v10 03/11] mm/hugetlb: Free the vmemmap pages associated with each HugeTLB page

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Dec 21, 2020 at 11:52:30PM +0800, Muchun Song wrote:
> On Mon, Dec 21, 2020 at 9:44 PM Oscar Salvador <osalvador@xxxxxxx> wrote:
> >
> > On Mon, Dec 21, 2020 at 07:25:15PM +0800, Muchun Song wrote:
> >
> > > Should we add a BUG_ON in vmemmap_remap_free() for now?
> > >
> > >         BUG_ON(reuse != start + PAGE_SIZE);
> >
> > I do not think we have to, plus we would be BUG_ing for some specific use
> > case in "generic" function.
> 
> The vmemmap_remap_range() walks page table range [start, end),
> if reuse is equal to (start + PAGE_SIZE), the range can adjust to
> [start - PAGE_SIZE, end). But if not, we need some work to
> implement the "generic" function.
> 
>   - adjust range to [min(start, reuse), end) and call
>     vmemmap_remap_rangeand which skip the hole
>     which is [reuse + PAGE_SIZE, start) or [end, reuse).
>   - call vmemmap_remap_range(reuse, reuse + PAGE_SIZE)
>     to get the reuse page.Then, call vmemmap_remap_range(start, end)
>     again to remap.
> 
> Which one do you prefer?

I would not overcomplicate things at this stage.
Just follow my sugestion and add a BUG_ON as you said, that might be the
easier way now.
We can overthink this in the future when some other usecases come
around, right?

Thanks


-- 
Oscar Salvador
SUSE L3




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux