[patch] mm: swap: add __maybe_unused attribute for swap_is_last_ref() and update it's comment

Kemeng Shi
2025-04-10T06:44:12Z

Add __maybe_unused attribute for swap_is_last_ref ()to fix following
building warning:
mm/swapfile.c:1517:20: warning: function 'swap_is_last_ref' is not needed and will not be emitted [-Wunneeded-internal-declaration]
1517 | static inline bool swap_is_last_ref(unsigned char count)
| ^~~~~~~~~~~~~~~~
1 warning generated.

Besides, original comment for swap_entries_free() is placed before
swap_is_last_ref() which may introduce confusion. Update comment to
address this.

Fixes: 6bb001b6b64ec ("mm: swap: enable swap_entry_range_free() to drop any kind of last ref")
Suggested-by: Baoquan He <bhe@redhat.com>
Tested-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Kemeng Shi <shikemeng@huaweicloud.com>
---
mm/swapfile.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/mm/swapfile.c b/mm/swapfile.c
index c46b56d636af..4b5fc0c33a85 100644
--- a/mm/swapfile.c
+++ b/mm/swapfile.c
@@ -1537,15 +1537,19 @@ static bool swap_entries_put_map_nr(struct swap_info_struct *si,
}

/*
- * Drop the last ref(1, SWAP_HAS_CACHE or SWAP_MAP_SHMEM) of swap entries,
- * caller have to ensure all entries belong to the same cgroup and cluster.
+ * Check if it's the last ref of swap entry in the freeing path.
+ * Qualified vlaue includes 1, SWAP_HAS_CACHE or SWAP_MAP_SHMEM.
*/
-static inline bool swap_is_last_ref(unsigned char count)
+static inline bool __maybe_unused swap_is_last_ref(unsigned char count)
{
return (count == SWAP_HAS_CACHE) || (count == 1) ||
(count == SWAP_MAP_SHMEM);
}

+/*
+ * Drop the last ref of swap entries, caller have to ensure all entries
+ * belong to the same cgroup and cluster.
+ */
static void swap_entries_free(struct swap_info_struct *si,
struct swap_cluster_info *ci,
swp_entry_t entry, unsigned int nr_pages)
--
2.30.0