Message ID | 68427031c58645ba4b751022bf032ffd6b247427.1712796818.git-series.apopple@nvidia.com |
---|---|
State | Awaiting Upstream |
Headers | show |
Series | fs/dax: Fix FS DAX page reference counts | expand |
On 11.04.24 02:57, Alistair Popple wrote: > The only user of devmap PTEs is FS DAX, and khugepaged should not be > scanning these VMAs. This is checked by calling > hugepage_vma_check. Therefore khugepaged should never encounter a > devmap PTE. Warn if this occurs. > > Signed-off-by: Alistair Popple <apopple@nvidia.com> > > --- > > Note this is a transitory patch to test the above assumption both at > runtime and during review. I will likely remove it as the whole thing > gets deleted when pXX_devmap is removed. Yes, doesn't make sense for this patch to exist if it would go upstream along with the next patch that removes that completely.
David Hildenbrand <david@redhat.com> writes: > On 11.04.24 02:57, Alistair Popple wrote: >> The only user of devmap PTEs is FS DAX, and khugepaged should not be >> scanning these VMAs. This is checked by calling >> hugepage_vma_check. Therefore khugepaged should never encounter a >> devmap PTE. Warn if this occurs. >> Signed-off-by: Alistair Popple <apopple@nvidia.com> >> --- >> Note this is a transitory patch to test the above assumption both at >> runtime and during review. I will likely remove it as the whole thing >> gets deleted when pXX_devmap is removed. > > Yes, doesn't make sense for this patch to exist if it would go > upstream along with the next patch that removes that completely. Yep. I'd had it to sanity check my own understanding and figured I'd leave it in the RFC series to see if it provoked a reaction from anyone. Will drop it in the next version.
diff --git a/mm/khugepaged.c b/mm/khugepaged.c index 88433cc..b10db15 100644 --- a/mm/khugepaged.c +++ b/mm/khugepaged.c @@ -955,7 +955,7 @@ static int find_pmd_or_thp_or_none(struct mm_struct *mm, return SCAN_PMD_NULL; if (pmd_trans_huge(pmde)) return SCAN_PMD_MAPPED; - if (pmd_devmap(pmde)) + if (WARN_ON_ONCE(pmd_devmap(pmde))) return SCAN_PMD_NULL; if (pmd_bad(pmde)) return SCAN_PMD_NULL;
The only user of devmap PTEs is FS DAX, and khugepaged should not be scanning these VMAs. This is checked by calling hugepage_vma_check. Therefore khugepaged should never encounter a devmap PTE. Warn if this occurs. Signed-off-by: Alistair Popple <apopple@nvidia.com> --- Note this is a transitory patch to test the above assumption both at runtime and during review. I will likely remove it as the whole thing gets deleted when pXX_devmap is removed. --- mm/khugepaged.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)