On 4/17/18 4:22 PM, Matthew Wilcox wrote:
On Wed, Apr 18, 2018 at 05:08:13AM +0800, Yang Shi wrote:
When applications use huge page on hugetlbfs, it just need check the
filesystem magic number, but it is not enough for tmpfs. So, introduce
ST_HUGE flag to statfs if super block has SB_HUGE set which indicates
huge page is supported on the specific filesystem.
Hm. What's the plan for communicating support for page sizes other
than PMD page sizes? I know ARM has several different page sizes,
as do PA-RISC and ia64. Even x86 might support 1G page sizes through
tmpfs one day.
For THP page size, we already have
/sys/kernel/mm/transparent_hugepage/hpage_pmd_size exported. The
applications could read this to get the THP size. If PUD size THP
supported is added later, we can export hpage_pud_size.
Please see the below commit log for more details:
commit 49920d28781dcced10cd30cb9a938e7d045a1c94
Author: Hugh Dickins <hughd@xxxxxxxxxx>
Date: Mon Dec 12 16:44:50 2016 -0800
mm: make transparent hugepage size public
Test programs want to know the size of a transparent hugepage. While it
is commonly the same as the size of a hugetlbfs page (shown as
Hugepagesize in /proc/meminfo), that is not always so: powerpc
implements transparent hugepages in a different way from hugetlbfs
pages, so it's coincidence when their sizes are the same; and x86 and
others can support more than one hugetlbfs page size.
Add /sys/kernel/mm/transparent_hugepage/hpage_pmd_size to show the THP
size in bytes - it's the same for Anonymous and Shmem hugepages. Call
it hpage_pmd_size (after HPAGE_PMD_SIZE) rather than hpage_size, in
case
some transparent support for pud and pgd pages is added later.
Thanks,
Yang