Re: [PATCH] mm: swap: Use memset to fill the swap_map with SWAP_HAS_CACHE

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

 



On Mon, 21 Sep 2020 08:22:24 -0400 Miaohe Lin <linmiaohe@xxxxxxxxxx> wrote:

> We could use helper memset to fill the swap_map with SWAP_HAS_CACHE instead
> of a direct loop here to simplify the code. Also we can remove the local
> variable i and map this way.
> 
> ...
>
> --- a/mm/swapfile.c
> +++ b/mm/swapfile.c
> @@ -975,8 +975,7 @@ static int swap_alloc_cluster(struct swap_info_struct *si, swp_entry_t *slot)
>  {
>  	unsigned long idx;
>  	struct swap_cluster_info *ci;
> -	unsigned long offset, i;
> -	unsigned char *map;
> +	unsigned long offset;
>  
>  	/*
>  	 * Should not even be attempting cluster allocations when huge
> @@ -996,9 +995,7 @@ static int swap_alloc_cluster(struct swap_info_struct *si, swp_entry_t *slot)
>  	alloc_cluster(si, idx);
>  	cluster_set_count_flag(ci, SWAPFILE_CLUSTER, CLUSTER_FLAG_HUGE);
>  
> -	map = si->swap_map + offset;
> -	for (i = 0; i < SWAPFILE_CLUSTER; i++)
> -		map[i] = SWAP_HAS_CACHE;
> +	memset(si->swap_map + offset, SWAP_HAS_CACHE, SWAPFILE_CLUSTER);
>  	unlock_cluster(ci);
>  	swap_range_alloc(si, offset, SWAPFILE_CLUSTER);
>  	*slot = swp_entry(si->type, offset);

I suppose so.  But it does assume that the ->swapmap array has the type
char.  If we ever change that, breakage will ensue.





[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