Re: [PATCH -v2 01/10] swap: Change SWAPFILE_CLUSTER to 512

From: Andrew Morton
Date: Thu Sep 01 2016 - 17:23:34 EST


On Thu, 1 Sep 2016 08:16:54 -0700 "Huang, Ying" <ying.huang@xxxxxxxxx> wrote:

> From: Huang Ying <ying.huang@xxxxxxxxx>
>
> In this patch, the size of the swap cluster is changed to that of the
> THP (Transparent Huge Page) on x86_64 architecture (512). This is for
> the THP swap support on x86_64. Where one swap cluster will be used to
> hold the contents of each THP swapped out. And some information of the
> swapped out THP (such as compound map count) will be recorded in the
> swap_cluster_info data structure.
>
> In effect, this will enlarge swap cluster size by 2 times. Which may
> make it harder to find a free cluster when the swap space becomes
> fragmented. So that, this may reduce the continuous swap space
> allocation and sequential write in theory. The performance test in 0day
> show no regressions caused by this.
>
> --- a/mm/swapfile.c
> +++ b/mm/swapfile.c
> @@ -196,7 +196,7 @@ static void discard_swap_cluster(struct swap_info_struct *si,
> }
> }
>
> -#define SWAPFILE_CLUSTER 256
> +#define SWAPFILE_CLUSTER 512
> #define LATENCY_LIMIT 256
>

What happens to architectures which have different HPAGE_SIZE and/or
PAGE_SIZE?