Re: [RFC v2 PATCH] mm: shmem: make stat.st_blksize return huge page size if THP is on

From: Yang Shi
Date: Mon Apr 23 2018 - 12:19:58 EST




On 4/23/18 9:04 AM, Michal Hocko wrote:
On Sun 22-04-18 21:28:59, Yang Shi wrote:

On 4/22/18 6:47 PM, Michal Hocko wrote:
[...]
will be used on the first aligned address even when the initial/last
portion of the mapping is not THP aligned.
No, my test shows it is not. And, transhuge_vma_suitable() does check the
virtual address alignment. If it is not huge page size aligned, it will not
set PMD for huge page.
It's been quite some time since I've looked at that code but I think you
are wrong. It just doesn't make sense to make the THP decision on the
VMA alignment much. Kirill, can you clarify please?

In the test, QEMU is trying to mmap a file (16GB in my configuration) + a guard page. If the page size is 4KB, there not any pages are mapped by PMD, but if the page size is 2MB (huge page aligned) we can see a lot pages are mapped by PMD. The test result is showed in the commit log.

So, if your assumption is right, there must be something wrong in THP code.


Please note that I have no objections to actually export the huge page
size as the max block size but your changelog just doesn't make any
sense to me.

Thanks,
Yang