On 8/25/23 12:39 PM, kernel test robot wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
> head:   b9bbbf4979073d5536b7650decd37fcb901e6556
> commit: 4d15721177d539d743fcf31d7bb376fb3b81aeb6 [84/128] powerpc/mm: Cleanup 
> memory block size probing
> config: powerpc64-randconfig-r005-20230825 
> (https://download.01.org/0day-ci/archive/20230825/202308251532.k9ppwead-...@intel.com/config)
> compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 
> 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a)
> reproduce: 
> (https://download.01.org/0day-ci/archive/20230825/202308251532.k9ppwead-...@intel.com/reproduce)
> 
> If you fix the issue in a separate patch/commit (i.e. not just a new version 
> of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <l...@intel.com>
> | Closes: 
> https://lore.kernel.org/oe-kbuild-all/202308251532.k9ppwead-...@intel.com/
> 
> All errors (new ones prefixed by >>):
> 
>>> arch/powerpc/mm/init_64.c:477:38: error: use of undeclared identifier 
>>> 'SECTION_SIZE_BITS'
>      477 |         unsigned long section_size = 1UL << SECTION_SIZE_BITS;
>          |                                             ^
>    arch/powerpc/mm/init_64.c:510:18: error: use of undeclared identifier 
> 'SECTION_SIZE_BITS'
>      510 |                         *block_size = MIN_MEMORY_BLOCK_SIZE;
>          |                                       ^
>    include/linux/memory.h:23:43: note: expanded from macro 
> 'MIN_MEMORY_BLOCK_SIZE'
>       23 | #define MIN_MEMORY_BLOCK_SIZE     (1UL << SECTION_SIZE_BITS)
>          |                                           ^
>    2 errors generated.
> 
> 
> vim +/SECTION_SIZE_BITS +477 arch/powerpc/mm/init_64.c
> 
>    474        
>    475        static void update_memory_block_size(unsigned long *block_size, 
> unsigned long mem_size)
>    476        {
>  > 477                unsigned long section_size = 1UL << SECTION_SIZE_BITS;
>    478        
>    479                for (; *block_size > section_size; *block_size >>= 2) {
>    480        
>    481                        if ((mem_size & *block_size) == 0)
>    482                                break;
>    483                }
>    484        }
>    485        
> 

Not a nice fix: 

modified   arch/powerpc/mm/init_64.c
@@ -472,11 +472,17 @@ static int __init dt_scan_mmu_pid_width(unsigned long 
node,
        return 1;
 }
 
+#ifndef CONFIG_MEMORY_HOTPLUG
+#define MEMORY_BLOCK_SIZE     SZ_16M
+#else
+#define MEMORY_BLOCK_SIZE MIN_MEMORY_BLOCK_SIZE
+#endif
+
 static void update_memory_block_size(unsigned long *block_size, unsigned long 
mem_size)
 {
-       unsigned long section_size = 1UL << SECTION_SIZE_BITS;
+       unsigned long min_memory_block_size = MEMORY_BLOCK_SIZE;
 
-       for (; *block_size > section_size; *block_size >>= 2) {
+       for (; *block_size > min_memory_block_size; *block_size >>= 2) {
 
                if ((mem_size & *block_size) == 0)
                        break;
@@ -507,7 +513,7 @@ static int __init probe_memory_block_size(unsigned long 
node, const char *uname,
                        /*
                         * Nothing in the device tree
                         */
-                       *block_size = MIN_MEMORY_BLOCK_SIZE;
+                       *block_size = MEMORY_BLOCK_SIZE;
                else
                        *block_size = of_read_number(prop, dt_root_size_cells);
                /*


Reply via email to