The patch titled Subject: mm-hold-ptl-from-the-first-pte-while-reclaiming-a-large-folio-fix has been added to the -mm mm-unstable branch. Its filename is mm-hold-ptl-from-the-first-pte-while-reclaiming-a-large-folio-fix.patch This patch will shortly appear at https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/mm-hold-ptl-from-the-first-pte-while-reclaiming-a-large-folio-fix.patch This patch will later appear in the mm-unstable branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next via the mm-everything branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm and is updated there every 2-3 working days ------------------------------------------------------ From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Subject: mm-hold-ptl-from-the-first-pte-while-reclaiming-a-large-folio-fix Date: Tue Mar 26 11:30:46 AM PDT 2024 rewrap comment, per Matthew Cc: Barry Song <v-songbaohua@xxxxxxxx> Cc: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/vmscan.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) --- a/mm/vmscan.c~mm-hold-ptl-from-the-first-pte-while-reclaiming-a-large-folio-fix +++ a/mm/vmscan.c @@ -1258,14 +1258,16 @@ retry: if (folio_test_pmd_mappable(folio)) flags |= TTU_SPLIT_HUGE_PMD; /* - * Without TTU_SYNC, try_to_unmap will only begin to hold PTL - * from the first present PTE within a large folio. Some initial - * PTEs might be skipped due to races with parallel PTE writes - * in which PTEs can be cleared temporarily before being written - * new present values. This will lead to a large folio is still - * mapped while some subpages have been partially unmapped after - * try_to_unmap; TTU_SYNC helps try_to_unmap acquire PTL from the - * first PTE, eliminating the influence of temporary PTE values. + * Without TTU_SYNC, try_to_unmap will only begin to + * hold PTL from the first present PTE within a large + * folio. Some initial PTEs might be skipped due to + * races with parallel PTE writes in which PTEs can be + * cleared temporarily before being written new present + * values. This will lead to a large folio is still + * mapped while some subpages have been partially + * unmapped after try_to_unmap; TTU_SYNC helps + * try_to_unmap acquire PTL from the first PTE, + * eliminating the influence of temporary PTE values. */ if (folio_test_large(folio) && list_empty(&folio->_deferred_list)) flags |= TTU_SYNC; _ Patches currently in -mm which might be from akpm@xxxxxxxxxxxxxxxxxxxx are mm-sparc-change-pxd_huge-behavior-to-exclude-swap-entries-fix.patch mm-hold-ptl-from-the-first-pte-while-reclaiming-a-large-folio-fix.patch mm-move-follow_phys-to-arch-x86-mm-pat-memtypec-fix.patch