Re: [PATCH 5/9] mm: swap: use swap_entries_free() drop last 1 flag in swap_entries_put_nr()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2025-03-14 at 05:05 +0800, Kemeng Shi wrote:
> Use swap_entries_free() to drop last 1 flag to eliminate the need to set
> slot to the intermediate SWAP_HAS_CACHE state.
> 

Use swap_entries_free() to directly free swap entries when
the swap entries are not cached and referenced, without
needing to set swap entries to intermediate SWAP_HAS_CACHE state.
 
> Signed-off-by: Kemeng Shi <shikemeng@xxxxxxxxxxxxxxx>

Reviewed-by: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx>

> ---
>  mm/swapfile.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 

Use swap_entries_free() 
> diff --git a/mm/swapfile.c b/mm/swapfile.c
> index 14b7b37996ff..0ce0ca08594e 100644
> --- a/mm/swapfile.c
> +++ b/mm/swapfile.c
> @@ -1508,10 +1508,11 @@ static bool swap_entries_put_nr(struct swap_info_struct *si,
>  		unlock_cluster(ci);
>  		goto fallback;
>  	}
> -	for (i = 0; i < nr; i++)
> -		WRITE_ONCE(si->swap_map[offset + i], SWAP_HAS_CACHE);
>  	if (!has_cache)
>  		swap_entries_free(si, ci, entry, nr);
> +	else
> +		for (i = 0; i < nr; i++)
> +			WRITE_ONCE(si->swap_map[offset + i], SWAP_HAS_CACHE);
>  	unlock_cluster(ci);
>  
>  	return has_cache;






[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux