On 08/05/2013 03:32 PM, Michal Hocko wrote: > On Thu 01-08-13 10:39:57, Chen Gang wrote: >> MIGRATION need depend on MMU, or allmodconfig for sh architecture which >> without MMU will be fail for compiling. >> >> The related error: >> >> CC mm/migrate.o >> mm/migrate.c: In function 'remove_migration_pte': >> mm/migrate.c:134:3: error: implicit declaration of function 'pmd_trans_huge' [-Werror=implicit-function-declaration] >> if (pmd_trans_huge(*pmd)) >> ^ >> mm/migrate.c:149:2: error: implicit declaration of function 'is_swap_pte' [-Werror=implicit-function-declaration] >> if (!is_swap_pte(pte)) >> ^ >> ... >> >> >> Signed-off-by: Chen Gang <gang.chen@xxxxxxxxxxx> >> --- >> mm/Kconfig | 4 ++-- >> 1 files changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/mm/Kconfig b/mm/Kconfig >> index 256bfd0..e847f19 100644 >> --- a/mm/Kconfig >> +++ b/mm/Kconfig >> @@ -245,7 +245,7 @@ config COMPACTION >> config MIGRATION >> bool "Page migration" >> def_bool y >> - depends on NUMA || ARCH_ENABLE_MEMORY_HOTREMOVE || COMPACTION || CMA >> + depends on (NUMA || ARCH_ENABLE_MEMORY_HOTREMOVE || COMPACTION || CMA) && MMU >> help >> Allows the migration of the physical location of pages of processes >> while the virtual addresses are not changed. This is useful in >> @@ -522,7 +522,7 @@ config MEM_SOFT_DIRTY >> >> config CMA >> bool "Contiguous Memory Allocator" >> - depends on HAVE_MEMBLOCK >> + depends on HAVE_MEMBLOCK && MMU > > Why CMA has to depend on MMU as well? The MIGRATION part should be > sufficient. > MIGRATION need depend on MMU, when NOMMU, if select CMA, it will select MIGRATION by force. e.g. for allmodconfig with sh architecture, if we only let MIGRATION depend on MMU, not let CMA depend on MMU, it will report the warning below: scripts/kconfig/conf --allmodconfig Kconfig warning: (COMPACTION && CMA) selects MIGRATION which has unmet direct dependencies ((NUMA || ARCH_ENABLE_MEMORY_HOTREMOVE || COMPACTION || CMA) && MMU) And for the final config file, MIGRATION is still enabled, although MMU is not defined. >> select MIGRATION >> select MEMORY_ISOLATION >> help > Thanks. -- Chen Gang -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>