Re: Page zapping and page table reclaim

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

 



On Thu, Mar 18, 2021 at 05:57:06PM +0100, Vlastimil Babka wrote:
> On 3/11/21 7:14 PM, David Hildenbrand wrote:
> > Hi folks,
> > 
> > I was wondering, is there any mechanism that reclaims basically empty page
> > tables in a running process?
> > 
> > Like: When I MADV_DONTNEED a huge range, there could be plenty of basically
> > empty (e.g., all entries invalid) page tables we could reclaim. As soon as we
> > zap a complete PMD we could reclaim (depending on the architecture) a whole page.
> > 
> > Zapping on the PMD level might make most impact I guess.
> > 
> > For 1 GB, we need 262144 4k pages. If we assume each PTE is 8 bytes, we need a
> > total of 8 MB for the lowest level page tables (PTE).
> > 
> > OTOH, we would need 512 PMD entries - a single 4k page. Zapping 1 TB would mean
> > we can free up another 4MB - rather a corner case and we can live with that.
> > 
> > 
> > Of course, the same might apply to other cases where we can restore all page
> > table content from the VMA again. One example would be after MADV_FREE zapped a
> > whole range of entries we marked.
> 
> I don't think we have such mechanism, but IIRC I've heard the idea mentioned
> before, probably from Michal Hocko. Definitely an interesting research project
> idea to evaluate the cost vs benefits of that.
>

It might lead to interesting interactions with lockless page table walking
with implications on the mmap_lock as well.

Balbir





[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