* Re: [RFC PATCH] mm/hugetlb_cma: round up per_node before logging it
[not found] <20260421230220.4122996-1-ekffu200098@gmail.com>
@ 2026-04-28 11:57 ` kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-04-28 11:57 UTC (permalink / raw)
To: Sang-Heon Jeon; +Cc: llvm, oe-kbuild-all
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
^ permalink raw reply [flat|nested] only message in thread