On Fri, May 19, 2023 at 04:06:35PM +0530, Naresh Kamboju wrote: > On Wed, 17 May 2023 at 18:56, Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> wrote: > > Following arm64 builds failed on Linux next-20230517. > > > > - build/gcc-12-lkftconfig-64k_page_size > > - build/gcc-11-lkftconfig-64k_page_size > > > > Reported-by: Linux Kernel Functional Testing <lkft@xxxxxxxxxx> > > > > Build log: > > ====== > > include/asm-generic/div64.h:46:27: warning: conversion from 'long > > unsigned int' to 'uint32_t' {aka 'unsigned int'} changes value from > > '4398046511104' to '0' [-Woverflow] > > 46 | uint32_t __base = (base); \ > > | ^ > > include/linux/math.h:40:44: note: in expansion of macro 'do_div' > > 40 | ({ unsigned long long _tmp = (ll); do_div(_tmp, d); _tmp; }) > > | ^~~~~~ > > include/linux/math.h:43:9: note: in expansion of macro 'DIV_ROUND_DOWN_ULL' > > 43 | DIV_ROUND_DOWN_ULL((unsigned long long)(ll) + (d) - 1, (d)) > > | ^~~~~~~~~~~~~~~~~~ > > arch/arm64/kvm/mmu.c:95:22: note: in expansion of macro 'DIV_ROUND_UP_ULL' > > 95 | n += DIV_ROUND_UP_ULL(range, PUD_SIZE); > > | ^~~~~~~~~~~~~~~~ > > In file included from <command-line>: > > mm/huge_memory.c: In function 'hugepage_init': > > include/linux/compiler_types.h:397:45: error: call to > > '__compiletime_assert_494' declared with attribute error: BUILD_BUG_ON > > failed: (((16 - 3) * (4 - (2)) + 3)-16) > 10 > > 397 | _compiletime_assert(condition, msg, > > __compiletime_assert_, __COUNTER__) > > | ^ > > include/linux/compiler_types.h:378:25: note: in definition of macro > > '__compiletime_assert' > > 378 | prefix ## suffix(); > > \ > > | ^~~~~~ > > include/linux/compiler_types.h:397:9: note: in expansion of macro > > '_compiletime_assert' > > 397 | _compiletime_assert(condition, msg, > > __compiletime_assert_, __COUNTER__) > > | ^~~~~~~~~~~~~~~~~~~ > > include/linux/build_bug.h:39:37: note: in expansion of macro > > 'compiletime_assert' > > 39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) > > | ^~~~~~~~~~~~~~~~~~ > > include/linux/build_bug.h:50:9: note: in expansion of macro 'BUILD_BUG_ON_MSG' > > 50 | BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition) > > | ^~~~~~~~~~~~~~~~ > > include/linux/bug.h:24:25: note: in expansion of macro 'BUILD_BUG_ON' > > 24 | BUILD_BUG_ON(cond); \ > > | ^~~~~~~~~~~~ > > mm/huge_memory.c:470:9: note: in expansion of macro 'MAYBE_BUILD_BUG_ON' > > 470 | MAYBE_BUILD_BUG_ON(HPAGE_PMD_ORDER > MAX_ORDER); > > | ^~~~~~~~~~~~~~~~~~ > > make[3]: *** [scripts/Makefile.build:252: mm/huge_memory.o] Error 1 > > Linux next 20230517 arm64 64k page size build failed. > > - CONFIG_ARM64_64K_PAGES=y > > Reported-by: Linux Kernel Functional Testing <lkft@xxxxxxxxxx> > > Anders bisected and found the following is the first bad commit. > > commit fd2d1cb8c5454888f67aba4c6218e30106862070 > Author: Catalin Marinas <catalin.marinas@xxxxxxx> > Date: Wed May 3 13:33:42 2023 +0100 > > arm64: Make the ARCH_FORCE_MAX_ORDER config input prompt unconditional We are dropping this commit for now but the problem is still there with EXPERT enabled. The problem is that we start with ARCH_FORCE_MAX_ORDER of 10 in defconfig and we then change the page size to 64K but this value is no longer valid (only 13 works for this page size). I'll send a patch dropping the config description entirely, unless there are some strong requirements to have the ranges back. -- Catalin