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

From: Johannes Weiner
Date: Fri Mar 31 2017 - 10:56:29 EST


On Thu, Mar 30, 2017 at 08:45:56AM +0800, Huang, Ying wrote:
> Johannes Weiner <hannes@xxxxxxxxxxx> writes:
>
> > On Tue, Mar 28, 2017 at 01:32:01PM +0800, Huang, Ying wrote:
> >> @@ -499,6 +499,19 @@ config FRONTSWAP
> >>
> >> If unsure, say Y to enable frontswap.
> >>
> >> +config ARCH_USES_THP_SWAP_CLUSTER
> >> + bool
> >> + default n
> >
> > This is fine.
> >
> >> +config THP_SWAP_CLUSTER
> >> + bool
> >> + depends on SWAP && TRANSPARENT_HUGEPAGE && ARCH_USES_THP_SWAP_CLUSTER
> >> + default y
> >> + help
> >> + Use one swap cluster to hold the contents of the THP
> >> + (Transparent Huge Page) swapped out. The size of the swap
> >> + cluster will be same as that of THP.
> >
> > But this is a super weird thing to ask the user. How would they know
> > what to say, if we don't know? I don't think this should be a config
> > knob at all. Merge the two config items into a simple
>
> The user will not see this, because there is no string after "bool" to
> let user to select it. The help here is for document only, so that
> architecture developers could know what this is for.

Oh, I missed that. My bad!

> > config THP_SWAP_CLUSTER
> > bool
> > default n
> >
> > and let the archs with reasonable THP sizes select it.
>
> This will have same effect as the original solution except the document
> is removed.

Then I still don't understand why we need two config symbols. Can't
archs select the documented THP_SWAP_CLUSTER directly?

The #ifdef in swapfile.c could check THP && THP_SWAP_CLUSTER.

Am I missing something?