[powerpc:next 84/128] arch/powerpc/mm/init_64.c:477:38: error: use of undeclared identifier 'SECTION_SIZE_BITS'

Aneesh Kumar K V aneesh.kumar at linux.ibm.com
Sat Aug 26 04:14:49 AEST 2023


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-lkp@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-lkp@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 <lkp at intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202308251532.k9PpWEAD-lkp@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);
 		/*




More information about the Linuxppc-dev mailing list