All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Sang-Heon Jeon <ekffu200098@gmail.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: Re: [RFC PATCH] mm/hugetlb_cma: round up per_node before logging it
Date: Tue, 28 Apr 2026 19:57:16 +0800	[thread overview]
Message-ID: <202604281948.FEX8Kc9q-lkp@intel.com> (raw)
In-Reply-To: <20260421230220.4122996-1-ekffu200098@gmail.com>

Hi Sang-Heon,

[This is a private test report for your RFC patch.]
kernel test robot noticed the following build errors:

[auto build test ERROR on v7.0]
[also build test ERROR on linus/master]
[cannot apply to akpm-mm/mm-everything next-20260427]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Sang-Heon-Jeon/mm-hugetlb_cma-round-up-per_node-before-logging-it/20260427-012923
base:   v7.0
patch link:    https://lore.kernel.org/r/20260421230220.4122996-1-ekffu200098%40gmail.com
patch subject: [RFC PATCH] mm/hugetlb_cma: round up per_node before logging it
config: s390-allmodconfig (https://download.01.org/0day-ci/archive/20260428/202604281948.FEX8Kc9q-lkp@intel.com/config)
compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260428/202604281948.FEX8Kc9q-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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202604281948.FEX8Kc9q-lkp@intel.com/

All errors (new ones prefixed by >>):

>> mm/hugetlb_cma.c:208:3: error: expected expression
     208 |                 pr_info("hugetlb_cma: reserve %lu MiB, up to %lu MiB per node\n",
         |                 ^
   include/linux/printk.h:584:2: note: expanded from macro 'pr_info'
     584 |         printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
         |         ^
   include/linux/printk.h:511:26: note: expanded from macro 'printk'
     511 | #define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__)
         |                          ^
   include/linux/printk.h:481:3: note: expanded from macro 'printk_index_wrap'
     481 |         ({                                                              \
         |          ^
   1 error generated.


vim +208 mm/hugetlb_cma.c

9fac145b6d3fe5 Mike Rapoport (Microsoft  2026-01-11  142) 
9fac145b6d3fe5 Mike Rapoport (Microsoft  2026-01-11  143) void __init hugetlb_cma_reserve(void)
9fac145b6d3fe5 Mike Rapoport (Microsoft  2026-01-11  144) {
9fac145b6d3fe5 Mike Rapoport (Microsoft  2026-01-11  145) 	unsigned long size, reserved, per_node, order;
474fe91f213a40 Frank van der Linden      2025-02-28  146  	bool node_specific_cma_alloc = false;
474fe91f213a40 Frank van der Linden      2025-02-28  147  	int nid;
474fe91f213a40 Frank van der Linden      2025-02-28  148  
9fac145b6d3fe5 Mike Rapoport (Microsoft  2026-01-11  149) 	if (!hugetlb_cma_size)
9fac145b6d3fe5 Mike Rapoport (Microsoft  2026-01-11  150) 		return;
9fac145b6d3fe5 Mike Rapoport (Microsoft  2026-01-11  151) 
9fac145b6d3fe5 Mike Rapoport (Microsoft  2026-01-11  152) 	order = arch_hugetlb_cma_order();
7a9c0bf0aec621 Mike Rapoport (Microsoft  2026-01-11  153) 	if (!order) {
7a9c0bf0aec621 Mike Rapoport (Microsoft  2026-01-11  154) 		pr_warn("hugetlb_cma: the option isn't supported by current arch\n");
9fac145b6d3fe5 Mike Rapoport (Microsoft  2026-01-11  155) 		return;
7a9c0bf0aec621 Mike Rapoport (Microsoft  2026-01-11  156) 	}
9fac145b6d3fe5 Mike Rapoport (Microsoft  2026-01-11  157) 
474fe91f213a40 Frank van der Linden      2025-02-28  158  	/*
474fe91f213a40 Frank van der Linden      2025-02-28  159  	 * HugeTLB CMA reservation is required for gigantic
474fe91f213a40 Frank van der Linden      2025-02-28  160  	 * huge pages which could not be allocated via the
474fe91f213a40 Frank van der Linden      2025-02-28  161  	 * page allocator. Just warn if there is any change
474fe91f213a40 Frank van der Linden      2025-02-28  162  	 * breaking this assumption.
474fe91f213a40 Frank van der Linden      2025-02-28  163  	 */
474fe91f213a40 Frank van der Linden      2025-02-28  164  	VM_WARN_ON(order <= MAX_PAGE_ORDER);
474fe91f213a40 Frank van der Linden      2025-02-28  165  
8d88b0769e256c Frank van der Linden      2025-04-02  166  	hugetlb_bootmem_set_nodes();
8d88b0769e256c Frank van der Linden      2025-04-02  167  
474fe91f213a40 Frank van der Linden      2025-02-28  168  	for (nid = 0; nid < MAX_NUMNODES; nid++) {
474fe91f213a40 Frank van der Linden      2025-02-28  169  		if (hugetlb_cma_size_in_node[nid] == 0)
474fe91f213a40 Frank van der Linden      2025-02-28  170  			continue;
474fe91f213a40 Frank van der Linden      2025-02-28  171  
8d88b0769e256c Frank van der Linden      2025-04-02  172  		if (!node_isset(nid, hugetlb_bootmem_nodes)) {
474fe91f213a40 Frank van der Linden      2025-02-28  173  			pr_warn("hugetlb_cma: invalid node %d specified\n", nid);
474fe91f213a40 Frank van der Linden      2025-02-28  174  			hugetlb_cma_size -= hugetlb_cma_size_in_node[nid];
474fe91f213a40 Frank van der Linden      2025-02-28  175  			hugetlb_cma_size_in_node[nid] = 0;
474fe91f213a40 Frank van der Linden      2025-02-28  176  			continue;
474fe91f213a40 Frank van der Linden      2025-02-28  177  		}
474fe91f213a40 Frank van der Linden      2025-02-28  178  
474fe91f213a40 Frank van der Linden      2025-02-28  179  		if (hugetlb_cma_size_in_node[nid] < (PAGE_SIZE << order)) {
474fe91f213a40 Frank van der Linden      2025-02-28  180  			pr_warn("hugetlb_cma: cma area of node %d should be at least %lu MiB\n",
474fe91f213a40 Frank van der Linden      2025-02-28  181  				nid, (PAGE_SIZE << order) / SZ_1M);
474fe91f213a40 Frank van der Linden      2025-02-28  182  			hugetlb_cma_size -= hugetlb_cma_size_in_node[nid];
474fe91f213a40 Frank van der Linden      2025-02-28  183  			hugetlb_cma_size_in_node[nid] = 0;
474fe91f213a40 Frank van der Linden      2025-02-28  184  		} else {
474fe91f213a40 Frank van der Linden      2025-02-28  185  			node_specific_cma_alloc = true;
474fe91f213a40 Frank van der Linden      2025-02-28  186  		}
474fe91f213a40 Frank van der Linden      2025-02-28  187  	}
474fe91f213a40 Frank van der Linden      2025-02-28  188  
474fe91f213a40 Frank van der Linden      2025-02-28  189  	/* Validate the CMA size again in case some invalid nodes specified. */
474fe91f213a40 Frank van der Linden      2025-02-28  190  	if (!hugetlb_cma_size)
474fe91f213a40 Frank van der Linden      2025-02-28  191  		return;
474fe91f213a40 Frank van der Linden      2025-02-28  192  
474fe91f213a40 Frank van der Linden      2025-02-28  193  	if (hugetlb_cma_size < (PAGE_SIZE << order)) {
474fe91f213a40 Frank van der Linden      2025-02-28  194  		pr_warn("hugetlb_cma: cma area should be at least %lu MiB\n",
474fe91f213a40 Frank van der Linden      2025-02-28  195  			(PAGE_SIZE << order) / SZ_1M);
474fe91f213a40 Frank van der Linden      2025-02-28  196  		hugetlb_cma_size = 0;
474fe91f213a40 Frank van der Linden      2025-02-28  197  		return;
474fe91f213a40 Frank van der Linden      2025-02-28  198  	}
474fe91f213a40 Frank van der Linden      2025-02-28  199  
474fe91f213a40 Frank van der Linden      2025-02-28  200  	if (!node_specific_cma_alloc) {
474fe91f213a40 Frank van der Linden      2025-02-28  201  		/*
474fe91f213a40 Frank van der Linden      2025-02-28  202  		 * If 3 GB area is requested on a machine with 4 numa nodes,
474fe91f213a40 Frank van der Linden      2025-02-28  203  		 * let's allocate 1 GB on first three nodes and ignore the last one.
474fe91f213a40 Frank van der Linden      2025-02-28  204  		 */
8d88b0769e256c Frank van der Linden      2025-04-02  205  		per_node = DIV_ROUND_UP(hugetlb_cma_size,
8d88b0769e256c Frank van der Linden      2025-04-02  206  					nodes_weight(hugetlb_bootmem_nodes));
1260cb5196af67 Sang-Heon Jeon            2026-04-22  207  		per_node = round_up(per_node, PAGE_SIZE << order)
474fe91f213a40 Frank van der Linden      2025-02-28 @208  		pr_info("hugetlb_cma: reserve %lu MiB, up to %lu MiB per node\n",
474fe91f213a40 Frank van der Linden      2025-02-28  209  			hugetlb_cma_size / SZ_1M, per_node / SZ_1M);
474fe91f213a40 Frank van der Linden      2025-02-28  210  	}
474fe91f213a40 Frank van der Linden      2025-02-28  211  
474fe91f213a40 Frank van der Linden      2025-02-28  212  	reserved = 0;
8d88b0769e256c Frank van der Linden      2025-04-02  213  	for_each_node_mask(nid, hugetlb_bootmem_nodes) {
474fe91f213a40 Frank van der Linden      2025-02-28  214  		int res;
474fe91f213a40 Frank van der Linden      2025-02-28  215  		char name[CMA_MAX_NAME];
474fe91f213a40 Frank van der Linden      2025-02-28  216  
474fe91f213a40 Frank van der Linden      2025-02-28  217  		if (node_specific_cma_alloc) {
474fe91f213a40 Frank van der Linden      2025-02-28  218  			if (hugetlb_cma_size_in_node[nid] == 0)
474fe91f213a40 Frank van der Linden      2025-02-28  219  				continue;
474fe91f213a40 Frank van der Linden      2025-02-28  220  
474fe91f213a40 Frank van der Linden      2025-02-28  221  			size = hugetlb_cma_size_in_node[nid];
474fe91f213a40 Frank van der Linden      2025-02-28  222  		} else {
474fe91f213a40 Frank van der Linden      2025-02-28  223  			size = min(per_node, hugetlb_cma_size - reserved);
474fe91f213a40 Frank van der Linden      2025-02-28  224  		}
474fe91f213a40 Frank van der Linden      2025-02-28  225  
474fe91f213a40 Frank van der Linden      2025-02-28  226  		size = round_up(size, PAGE_SIZE << order);
474fe91f213a40 Frank van der Linden      2025-02-28  227  
474fe91f213a40 Frank van der Linden      2025-02-28  228  		snprintf(name, sizeof(name), "hugetlb%d", nid);
474fe91f213a40 Frank van der Linden      2025-02-28  229  		/*
474fe91f213a40 Frank van der Linden      2025-02-28  230  		 * Note that 'order per bit' is based on smallest size that
474fe91f213a40 Frank van der Linden      2025-02-28  231  		 * may be returned to CMA allocator in the case of
474fe91f213a40 Frank van der Linden      2025-02-28  232  		 * huge page demotion.
474fe91f213a40 Frank van der Linden      2025-02-28  233  		 */
474fe91f213a40 Frank van der Linden      2025-02-28  234  		res = cma_declare_contiguous_multi(size, PAGE_SIZE << order,
474fe91f213a40 Frank van der Linden      2025-02-28  235  					HUGETLB_PAGE_ORDER, name,
474fe91f213a40 Frank van der Linden      2025-02-28  236  					&hugetlb_cma[nid], nid);
474fe91f213a40 Frank van der Linden      2025-02-28  237  		if (res) {
474fe91f213a40 Frank van der Linden      2025-02-28  238  			pr_warn("hugetlb_cma: reservation failed: err %d, node %d",
474fe91f213a40 Frank van der Linden      2025-02-28  239  				res, nid);
474fe91f213a40 Frank van der Linden      2025-02-28  240  			continue;
474fe91f213a40 Frank van der Linden      2025-02-28  241  		}
474fe91f213a40 Frank van der Linden      2025-02-28  242  
474fe91f213a40 Frank van der Linden      2025-02-28  243  		reserved += size;
474fe91f213a40 Frank van der Linden      2025-02-28  244  		pr_info("hugetlb_cma: reserved %lu MiB on node %d\n",
474fe91f213a40 Frank van der Linden      2025-02-28  245  			size / SZ_1M, nid);
474fe91f213a40 Frank van der Linden      2025-02-28  246  
474fe91f213a40 Frank van der Linden      2025-02-28  247  		if (reserved >= hugetlb_cma_size)
474fe91f213a40 Frank van der Linden      2025-02-28  248  			break;
474fe91f213a40 Frank van der Linden      2025-02-28  249  	}
474fe91f213a40 Frank van der Linden      2025-02-28  250  
474fe91f213a40 Frank van der Linden      2025-02-28  251  	if (!reserved)
474fe91f213a40 Frank van der Linden      2025-02-28  252  		/*
474fe91f213a40 Frank van der Linden      2025-02-28  253  		 * hugetlb_cma_size is used to determine if allocations from
474fe91f213a40 Frank van der Linden      2025-02-28  254  		 * cma are possible.  Set to zero if no cma regions are set up.
474fe91f213a40 Frank van der Linden      2025-02-28  255  		 */
474fe91f213a40 Frank van der Linden      2025-02-28  256  		hugetlb_cma_size = 0;
474fe91f213a40 Frank van der Linden      2025-02-28  257  }
474fe91f213a40 Frank van der Linden      2025-02-28  258  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

  parent reply	other threads:[~2026-04-28 11:57 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-21 23:02 [RFC PATCH] mm/hugetlb_cma: round up per_node before logging it Sang-Heon Jeon
2026-04-22  6:20 ` Muchun Song
2026-04-22  9:49   ` Sang-Heon Jeon
2026-04-28 11:57 ` kernel test robot [this message]
2026-04-28 23:23 ` kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202604281948.FEX8Kc9q-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=ekffu200098@gmail.com \
    --cc=llvm@lists.linux.dev \
    --cc=oe-kbuild-all@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.