On 06/21/2018 08:51 PM, Huang, Ying wrote: > From: Huang Ying <ying.huang@xxxxxxxxx> > > Previously, the PMD swap operations are only enabled for > CONFIG_ARCH_ENABLE_THP_MIGRATION. Because they are only used by the > THP migration support. We will support PMD swap mapping to the huge > swap cluster and swapin the THP as a whole. That will be enabled via > CONFIG_THP_SWAP and needs these PMD swap operations. So enable the > PMD swap operations for CONFIG_THP_SWAP too. This commit message kinda skirts around the real reasons for this patch. Shouldn't we just say something like: Currently, "swap entries" in the page tables are used for a number of things outside of actual swap, like page migration. We support THP/PMD "swap entries" for page migration currently and the functions behind this are tied to page migration's config option (CONFIG_ARCH_ENABLE_THP_MIGRATION). But, we also need them for THP swap. ... It would also be nice to explain a bit why you are moving code around. Would this look any better if we made a Kconfig option: config HAVE_THP_SWAP_ENTRIES def_bool n # "Swap entries" in the page tables are used # both for migration and actual swap. depends on THP_SWAP || ARCH_ENABLE_THP_MIGRATION You logically talked about this need for PMD swap operations in your commit message, so I think it makes sense to codify that in a single place where it can be coherently explained.