Re: [RFC 2/3] mm: changes to split_huge_page() to free zero filled tail pages

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

 



On 25.08.22 23:30, alexlzhu@xxxxxx wrote:
> From: Alexander Zhu <alexlzhu@xxxxxx>
> 
> Currently, when /sys/kernel/mm/transparent_hugepage/enabled=always is set
> there are a large number of transparent hugepages that are almost entirely
> zero filled.  This is mentioned in a number of previous patchsets
> including:
> https://lore.kernel.org/all/20210731063938.1391602-1-yuzhao@xxxxxxxxxx/
> https://lore.kernel.org/all/
> 1635422215-99394-1-git-send-email-ningzhang@xxxxxxxxxxxxxxxxx/
> 
> Currently, split_huge_page() does not have a way to identify zero filled
> pages within the THP. Thus these zero pages get remapped and continue to
> create memory waste. In this patch, we identify and free tail pages that
> are zero filled in split_huge_page(). In this way, we avoid mapping these
> pages back into page table entries and can free up unused memory within
> THPs. This is based off the previously mentioned patchset by Yu Zhao.
> However, we chose to free zero tail pages whenever they are encountered
> instead of only on reclaim or migration. We also add a self test to verify
> the RssAnon value to make sure zero pages are not remapped.
> 

Isn't this to some degree splitting the THP (PMDs->PTEs + dissolve
compound page) and then letting KSM replace the zero-filled page by the
shared zeropage?

-- 
Thanks,

David / dhildenb





[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