Re: [PATCH -mm -v7 1/9] mm, swap: Make swap cluster size same of THP size on x86_64

From: Huang\, Ying
Date: Tue Mar 28 2017 - 21:11:24 EST


"Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> writes:

> On Tue, Mar 28, 2017 at 01:32:01PM +0800, Huang, Ying 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.
>>
>> For other architectures which want THP swap support,
>> ARCH_USES_THP_SWAP_CLUSTER need to be selected in the Kconfig file for
>> the architecture.
>
> Intreseting case could be architecture with HPAGE_PMD_NR < 256.
> Can current code pack more than one THP per claster.

No. Only one THP for each swap cluster is supported. But in current
implementation, if HPAGE_PMD_NR < 256, the swap cluster will be < 256
too. The size of swap cluster will be exact same as HPAGE_PMD_NR.

Best Regards,
Huang, Ying

> If not we need to have BUILG_BUG_ON() to catch attempt of such enabling.