On Mon, May 24, 2021 at 05:13:02PM -0700, Randy Dunlap wrote: > Fix a Kconfig warning and many build errors: > > WARNING: unmet direct dependencies detected for COMPACTION > Depends on [n]: MMU [=n] > Selected by [y]: > - TRANSPARENT_HUGEPAGE [=y] && HAVE_ARCH_TRANSPARENT_HUGEPAGE [=y] > > and the subseqent thousands of build errors and warnings. > > Fixes: e88b333142e4 ("riscv: mm: add THP support on 64-bit") > Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> > Cc: Paul Walmsley <paul.walmsley@xxxxxxxxxx> > Cc: Palmer Dabbelt <palmer@xxxxxxxxxxx> > Cc: Albert Ou <aou@xxxxxxxxxxxxxxxxx> > Cc: linux-riscv@xxxxxxxxxxxxxxxxxxx > Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > Cc: Nanyong Sun <sunnanyong@xxxxxxxxxx> Acked-by: Mike Rapoport <rppt@xxxxxxxxxxxxx> > --- > I really think that mm/Kconfig should have "depends on MMU" for > TRANSPARENT_HUGEPAGE, but commit 15626062f4a9 from 2012 > ("thp, x86: introduce HAVE_ARCH_TRANSPARENT_HUGEPAGE") thought > differently. I.e., mm/Kconfig should be protecting all arches > against this Kconfig problem. We could diff --git a/mm/Kconfig b/mm/Kconfig index 02d44e3420f5..85bc8bf32e7b 100644 --- a/mm/Kconfig +++ b/mm/Kconfig @@ -403,7 +403,7 @@ config NOMMU_INITIAL_TRIM_EXCESS config TRANSPARENT_HUGEPAGE bool "Transparent Hugepage Support" - depends on HAVE_ARCH_TRANSPARENT_HUGEPAGE + depends on MMU && HAVE_ARCH_TRANSPARENT_HUGEPAGE select COMPACTION select XARRAY_MULTI help but in a sense HAVE_ARCH_TRANSPARENT_HUGEPAGE should imply that MMU is selected :) > arch/riscv/Kconfig | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > --- linux-next-20210524.orig/arch/riscv/Kconfig > +++ linux-next-20210524/arch/riscv/Kconfig > @@ -106,7 +106,7 @@ config RISCV > select SYSCTL_EXCEPTION_TRACE > select THREAD_INFO_IN_TASK > select UACCESS_MEMCPY if !MMU > - select HAVE_ARCH_TRANSPARENT_HUGEPAGE if 64BIT > + select HAVE_ARCH_TRANSPARENT_HUGEPAGE if 64BIT && MMU > > config ARCH_MMAP_RND_BITS_MIN > default 18 if 64BIT > -- Sincerely yours, Mike.