mm/ksm: remove page_mapcount() usage in stable_tree_search()
authorDavid Hildenbrand <david@redhat.com>
Tue, 16 Apr 2024 17:25:33 +0000 (19:25 +0200)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 6 May 2024 00:53:38 +0000 (17:53 -0700)
commit2aa339120c7dfe834297a77b13b1a98e12842932
treeb7fd7519d448f96bb8e8049766054e6e7fd83c62
parentc074e1467f8546c8f8c9ea2128fb8bf8c4579418
mm/ksm: remove page_mapcount() usage in stable_tree_search()

We want to limit the use of page_mapcount() to the places where it is
absolutely necessary.

If our folio has a stable node, it is a (small) KSM folio -- see
folio_stable_node().  Let's use folio_mapcount() in stable_tree_search()
instead, which results in no functional change.

The mapcount > 1 check is a bit confusing, because that's usually a check
for page sharing.  Looks like the reason is that we are guaranteed to not
exceed ksm_max_page_sharing for the tree KSM folio when merging with that.
Let's update the documentation to make that clearer.

Link: https://lkml.kernel.org/r/20240416172533.663418-1-david@redhat.com
Signed-off-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Alex Shi <alexs@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/ksm.c