Skip to contentSkip to conversation

mm-vmscan-drop-checking-if-_deferred_list-is-empty-before-using-ttu_sync.patch removed from -mm tree

merged mm-stable Andrew Morton 1 participant 1 message Jul 6, 2024

lore
Share & tools
lore

Andrew Morton

author tree notice Applied
#0 lore raw

The quilt patch titled
Subject: mm/vmscan: drop checking if _deferred_list is empty before using TTU_SYNC
has been removed from the -mm tree. Its filename was
mm-vmscan-drop-checking-if-_deferred_list-is-empty-before-using-ttu_sync.patch

This patch was dropped because it was merged into the mm-stable branch of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

------------------------------------------------------
From: Barry Song <[email protected]>
Subject: mm/vmscan: drop checking if _deferred_list is empty before using TTU_SYNC
Date: Sun, 30 Jun 2024 11:41:55 +1200

The optimization of list_empty(&folio->_deferred_list) aimed to prevent increasing the PTL duration when a large folio is partially unmapped, for example, from subpage 0 to subpage (nr - 2).

But Ryan's commit 5ed890ce5147 ("mm: vmscan: avoid split during shrink_folio_list()") actually splits this kind of large folios. This makes the "optimization" useless.

Additionally, the list_empty() technically required a data_race() annotation.

---

 mm/vmscan.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
mm/vmscan.c renamed from mm/vmscan.c~mm-vmscan-drop-checking-if-_deferred_list-is-empty-before-using-ttu_sync +1 -1
@@ -1291,7 +1291,7 @@ retry:
 			 * 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))
+			if (folio_test_large(folio))
 				flags |= TTU_SYNC;
 
 			try_to_unmap(folio, flags);

_

Patches currently in -mm which might be from [email protected] are