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

Baoquan He
2025-04-10T08:35:30Z

On 04/10/25 at 11:39pm, Kemeng Shi wrote:
> 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(-)

LGTM,

Reviewed-by: Baoquan He <bhe@redhat.com>

>
> 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
>