From: kernel test robot <lkp@intel.com>
To: Usama Arif <usama.arif@bytedance.com>,
linux-mm@kvack.org, muchun.song@linux.dev,
mike.kravetz@oracle.com, rppt@kernel.org
Cc: oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org,
fam.zheng@bytedance.com, liangma@liangbit.com,
simon.evans@bytedance.com, punit.agrawal@bytedance.com,
Usama Arif <usama.arif@bytedance.com>
Subject: Re: [v1 6/6] mm: hugetlb: Skip initialization of struct pages freed later by HVO
Date: Sat, 29 Jul 2023 00:33:36 +0800 [thread overview]
Message-ID: <202307290029.Kr5EEBeY-lkp@intel.com> (raw)
In-Reply-To: <20230727204624.1942372-7-usama.arif@bytedance.com>
Hi Usama,
kernel test robot noticed the following build warnings:
[auto build test WARNING on akpm-mm/mm-everything]
url: https://github.com/intel-lab-lkp/linux/commits/Usama-Arif/mm-hugetlb-Skip-prep-of-tail-pages-when-HVO-is-enabled/20230728-044839
base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link: https://lore.kernel.org/r/20230727204624.1942372-7-usama.arif%40bytedance.com
patch subject: [v1 6/6] mm: hugetlb: Skip initialization of struct pages freed later by HVO
config: i386-debian-10.3 (https://download.01.org/0day-ci/archive/20230729/202307290029.Kr5EEBeY-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce: (https://download.01.org/0day-ci/archive/20230729/202307290029.Kr5EEBeY-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/202307290029.Kr5EEBeY-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from mm/hugetlb.c:49:
mm/hugetlb_vmemmap.h:56:6: warning: no previous prototype for 'vmemmap_should_optimize' [-Wmissing-prototypes]
56 | bool vmemmap_should_optimize(const struct hstate *h, const struct page *head)
| ^~~~~~~~~~~~~~~~~~~~~~~
mm/hugetlb.c: In function '__alloc_bootmem_huge_page':
mm/hugetlb.c:3198:17: error: 'HUGETLB_VMEMMAP_RESERVE_SIZE' undeclared (first use in this function)
3198 | HUGETLB_VMEMMAP_RESERVE_SIZE * sizeof(struct page);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
mm/hugetlb.c:3198:17: note: each undeclared identifier is reported only once for each function it appears in
>> mm/hugetlb.c:3210:42: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
3210 | (void *)((phys_addr_t) m + hugetlb_vmemmap_reserve_size));
| ^
>> mm/hugetlb.c:3210:33: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
3210 | (void *)((phys_addr_t) m + hugetlb_vmemmap_reserve_size));
| ^
mm/hugetlb.c:3233:42: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
3233 | (void *)((phys_addr_t) m + hugetlb_vmemmap_reserve_size));
| ^
mm/hugetlb.c:3233:33: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
3233 | (void *)((phys_addr_t) m + hugetlb_vmemmap_reserve_size));
| ^
vim +3210 mm/hugetlb.c
3190
3191 int alloc_bootmem_huge_page(struct hstate *h, int nid)
3192 __attribute__ ((weak, alias("__alloc_bootmem_huge_page")));
3193 int __alloc_bootmem_huge_page(struct hstate *h, int nid)
3194 {
3195 struct huge_bootmem_page *m = NULL; /* initialize for clang */
3196 int nr_nodes, node;
3197 phys_addr_t hugetlb_vmemmap_reserve_size =
3198 HUGETLB_VMEMMAP_RESERVE_SIZE * sizeof(struct page);
3199 phys_addr_t noinit_base;
3200
3201 /* do node specific alloc */
3202 if (nid != NUMA_NO_NODE) {
3203 m = memblock_alloc_try_nid_raw(huge_page_size(h), huge_page_size(h),
3204 0, MEMBLOCK_ALLOC_ACCESSIBLE, nid);
3205 if (!m)
3206 return 0;
3207
3208 if (vmemmap_optimize_enabled && hugetlb_vmemmap_optimizable(h)) {
3209 noinit_base = virt_to_phys(
> 3210 (void *)((phys_addr_t) m + hugetlb_vmemmap_reserve_size));
3211 memblock_rsrv_mark_noinit(
3212 noinit_base,
3213 huge_page_size(h) - hugetlb_vmemmap_reserve_size);
3214 }
3215
3216 goto found;
3217 }
3218 /* allocate from next node when distributing huge pages */
3219 for_each_node_mask_to_alloc(h, nr_nodes, node, &node_states[N_MEMORY]) {
3220 m = memblock_alloc_try_nid_raw(
3221 huge_page_size(h), huge_page_size(h),
3222 0, MEMBLOCK_ALLOC_ACCESSIBLE, node);
3223 /*
3224 * Use the beginning of the huge page to store the
3225 * huge_bootmem_page struct (until gather_bootmem
3226 * puts them into the mem_map).
3227 */
3228 if (!m)
3229 return 0;
3230
3231 if (vmemmap_optimize_enabled && hugetlb_vmemmap_optimizable(h)) {
3232 noinit_base = virt_to_phys(
3233 (void *)((phys_addr_t) m + hugetlb_vmemmap_reserve_size));
3234 memblock_rsrv_mark_noinit(
3235 noinit_base,
3236 huge_page_size(h) - hugetlb_vmemmap_reserve_size);
3237 }
3238
3239 goto found;
3240 }
3241
3242 found:
3243 /* Put them into a private list first because mem_map is not up yet */
3244 INIT_LIST_HEAD(&m->list);
3245 list_add(&m->list, &huge_boot_pages);
3246 m->hstate = h;
3247 return 1;
3248 }
3249
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2023-07-28 16:34 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-27 20:46 [v1 0/6] mm/memblock: Skip prep and initialization of struct pages freed later by HVO Usama Arif
2023-07-27 20:46 ` [v1 1/6] mm: hugetlb: Skip prep of tail pages when HVO is enabled Usama Arif
2023-07-28 8:18 ` kernel test robot
2023-07-28 11:26 ` kernel test robot
2023-07-29 6:37 ` Mike Rapoport
2023-07-27 20:46 ` [v1 2/6] mm: hugetlb_vmemmap: Use nid of the head page to reallocate it Usama Arif
2023-07-27 20:46 ` [v1 3/6] memblock: add parameter to memblock_setclr_flag for selecting memblock_type Usama Arif
2023-07-29 6:42 ` Mike Rapoport
2023-07-27 20:46 ` [v1 4/6] memblock: introduce MEMBLOCK_RSRV_NOINIT flag Usama Arif
2023-07-28 4:30 ` Mika Penttilä
2023-07-28 13:47 ` [External] " Usama Arif
2023-07-28 15:51 ` Mika Penttilä
2023-07-29 6:58 ` Mike Rapoport
2023-07-27 20:46 ` [v1 5/6] mm: move allocation of gigantic hstates to the start of mm_core_init Usama Arif
2023-07-29 7:34 ` Mike Rapoport
2023-07-27 20:46 ` [v1 6/6] mm: hugetlb: Skip initialization of struct pages freed later by HVO Usama Arif
2023-07-28 16:33 ` kernel test robot [this message]
2023-07-28 17:25 ` 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=202307290029.Kr5EEBeY-lkp@intel.com \
--to=lkp@intel.com \
--cc=fam.zheng@bytedance.com \
--cc=liangma@liangbit.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mike.kravetz@oracle.com \
--cc=muchun.song@linux.dev \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=punit.agrawal@bytedance.com \
--cc=rppt@kernel.org \
--cc=simon.evans@bytedance.com \
--cc=usama.arif@bytedance.com \
/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.