Re: mm/Kconfig: warning: (COMPACTION && EXPERIMENTAL &&HUGETLB_PAGE && MMU) selects MIGRATION which has unmet direct dependencies(NUMA || ARCH_ENABLE_MEMORY_HOTREMOVE)

From: Randy Dunlap
Date: Thu Sep 09 2010 - 11:25:35 EST


On Thu, 9 Sep 2010 17:10:34 +0200 Sedat Dilek wrote:

> Hi,
>
> while build latest 2.6.36-rc3 I get this warning:
>
> [ build.log]
> ...
> warning: (COMPACTION && EXPERIMENTAL && HUGETLB_PAGE && MMU) selects
> MIGRATION which has unmet direct dependencies (NUMA ||
> ARCH_ENABLE_MEMORY_HOTREMOVE)
> ...
>
> Here the excerpt of...
>
> [ mm/Kconfig ]
> ...
> # support for memory compaction
> config COMPACTION
> bool "Allow for memory compaction"
> select MIGRATION
> depends on EXPERIMENTAL && HUGETLB_PAGE && MMU
> help
> Allows the compaction of memory for the allocation of huge pages.
> ...
>
> I have set the following kernel-config parameters:
>
> $ egrep 'COMPACTION|HUGETLB_PAGE|MMU|MIGRATION|NUMA|ARCH_ENABLE_MEMORY_HOTREMOVE'
> linux-2.6.36-rc3/debian/build/build_i386_none_686/.config
> CONFIG_MMU=y
> # CONFIG_IOMMU_HELPER is not set
> CONFIG_IOMMU_API=y
> CONFIG_COMPACTION=y
> CONFIG_MIGRATION=y
> CONFIG_MMU_NOTIFIER=y
> CONFIG_HUGETLB_PAGE=y
> # CONFIG_IOMMU_STRESS is not set
>
> Looks like I have no NUMA or ARCH_ENABLE_MEMORY_HOTREMOVE set.
>
> Ok, it is a *warning*...


Andrea Arcangeli posted a patch for this on linux-mm on 2010-SEP-03.
(below)

---
From: Andrea Arcangeli <aarcange@xxxxxxxxxx>

COMPACTION enables MIGRATION, but MIGRATION spawns a warning if numa
or memhotplug aren't selected. However MIGRATION doesn't depend on
them. I guess it's just trying to be strict doing a double check on
who's enabling it, but it doesn't know that compaction also enables
MIGRATION.

Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx>
---

diff --git a/mm/Kconfig b/mm/Kconfig
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -189,7 +189,7 @@ config COMPACTION
config MIGRATION
bool "Page migration"
def_bool y
- depends on NUMA || ARCH_ENABLE_MEMORY_HOTREMOVE
+ depends on NUMA || ARCH_ENABLE_MEMORY_HOTREMOVE || COMPACTION
help
Allows the migration of the physical location of pages of processes
while the virtual addresses are not changed. This is useful in
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/