Commit f707fa49 authored by Yang Shi's avatar Yang Shi Committed by akpm

mm: khugepaged: better comments for anon vma check in hugepage_vma_revalidate

The hugepage_vma_revalidate() needs to check if the vma is still anonymous
vma or not since the address may be unmapped then remapped to file before
khugepaged reaquired the mmap_lock.

The old comment is not quite helpful, elaborate this with better comment.

Link: https://lkml.kernel.org/r/20220616174840.1202070-4-shy828301@gmail.comSigned-off-by: default avatarYang Shi <shy828301@gmail.com>
Reviewed-by: default avatarZach O'Keefe <zokeefe@google.com>
Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Miaohe Lin <linmiaohe@huawei.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 4fa6893f
...@@ -958,7 +958,13 @@ static int hugepage_vma_revalidate(struct mm_struct *mm, unsigned long address, ...@@ -958,7 +958,13 @@ static int hugepage_vma_revalidate(struct mm_struct *mm, unsigned long address,
return SCAN_ADDRESS_RANGE; return SCAN_ADDRESS_RANGE;
if (!hugepage_vma_check(vma, vma->vm_flags)) if (!hugepage_vma_check(vma, vma->vm_flags))
return SCAN_VMA_CHECK; return SCAN_VMA_CHECK;
/* Anon VMA expected */ /*
* Anon VMA expected, the address may be unmapped then
* remapped to file after khugepaged reaquired the mmap_lock.
*
* hugepage_vma_check may return true for qualified file
* vmas.
*/
if (!vma->anon_vma || !vma_is_anonymous(vma)) if (!vma->anon_vma || !vma_is_anonymous(vma))
return SCAN_VMA_CHECK; return SCAN_VMA_CHECK;
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment