On Thu, 2020-11-26 at 18:18 +0100, Vlastimil Babka wrote: > On 11/24/20 8:49 PM, Rik van Riel wrote: > > Currently if thp enabled=[madvise], mounting a tmpfs filesystem > > with huge=always and mmapping files from that tmpfs does not > > result in khugepaged collapsing those mappings, despite the > > mount flag indicating that it should. > > > > Fix that by breaking up the blocks of tests in hugepage_vma_check > > a little bit, and testing things in the correct order. > > > > Signed-off-by: Rik van Riel <riel@xxxxxxxxxxx> > > Fixes: c2231020ea7b ("mm: thp: register mm for khugepaged when > > merging vma for shmem") > > Looks ok. But, it we have sysfs thp enabled=never, and shmem mount > explicitly > thp enabled, then shmem mount overrides the global sysfs setting and > thp's will > be allocated there, right? However, khugepaged_enabled() will be > false and thus > khugepaged won't run at all? So a similar situation than what you're > fixing here. Indeed, that is somewhat similar. Whether or not shmem allocations attempt huge pages is controlled by both the file /sys/kernel/mm/transparent_hugepage/shmem_enabled and mount options. This patch makes khugepaged treat the mount options and/or sysfs flag as enabling collapsing of huge pages in case enabled = [always] for regular THPs. Should I send another patch on top of this that causes khugepaged to be enabled when regular THPs are disabled, but shmem THPs are enabled in any way? -- All Rights Reversed.
Attachment:
signature.asc
Description: This is a digitally signed message part