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
next prev 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.