From: kernel test robot <lkp@intel.com>
To: aubrey.li@linux.intel.com
Cc: oe-kbuild-all@lists.linux.dev
Subject: [anolis-intel-cloud:devel-5.10 1/1] drivers/virtio/virtio_mem.c:2347:6: warning: no previous prototype for 'virtio_mem_sbm_unplug_any_sb_online_may_slow'
Date: Sun, 16 Nov 2025 17:18:57 +0800 [thread overview]
Message-ID: <202511161744.HyR3AxRq-lkp@intel.com> (raw)
tree: https://gitee.com/anolis/intel-cloud-kernel.git devel-5.10
head: ad3132d9450fb83553e3cee3961a4b5eb75dd355
commit: 2916febd5bc1263c3b0d0793eab0905f54e146e3 [1/1] anolis: virtio-mem: support unplugging free memory only
config: x86_64-anolis-intel-cloud-devel-5.10 (https://download.01.org/0day-ci/archive/20251116/202511161744.HyR3AxRq-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.4.0-5) 12.4.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251116/202511161744.HyR3AxRq-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/202511161744.HyR3AxRq-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/virtio/virtio_mem.c:2347:6: warning: no previous prototype for 'virtio_mem_sbm_unplug_any_sb_online_may_slow' [-Wmissing-prototypes]
2347 | bool virtio_mem_sbm_unplug_any_sb_online_may_slow(struct virtio_mem *vm,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/virtio_mem_sbm_unplug_any_sb_online_may_slow +2347 drivers/virtio/virtio_mem.c
2338
2339 /*
2340 * Pre-check if `virtio_mem_sbm_unplug_any_sb_online()` is slow.
2341 * If the memory is shared by many processes, `alloc_contig_range`
2342 * will be a time-consuming operation.
2343 *
2344 * Note: Currently, we consider it slow when the mapping count
2345 * exceeds 50% of the plugged page count.
2346 */
> 2347 bool virtio_mem_sbm_unplug_any_sb_online_may_slow(struct virtio_mem *vm,
2348 unsigned long mb_id)
2349 {
2350 unsigned long block_addr = virtio_mem_mb_id_to_phys(mb_id);
2351 unsigned long block_start_pfn = PFN_DOWN(block_addr);
2352 unsigned long pages_per_sb = PFN_DOWN(vm->sbm.sb_size);
2353 unsigned long map_counts = 0, nr_plugged_pages = 0;
2354 unsigned long pfn, pfn_end, order;
2355 struct page *page;
2356 int sb_id, count;
2357
2358 for (sb_id = 0; sb_id < vm->sbm.sbs_per_mb; sb_id++) {
2359 if (!virtio_mem_sbm_next_contig_plugged_sbs(vm, mb_id, &sb_id,
2360 &count))
2361 break;
2362
2363 nr_plugged_pages += count * pages_per_sb;
2364 for (pfn = block_start_pfn + sb_id * pages_per_sb,
2365 pfn_end = pfn + count * pages_per_sb;
2366 pfn < pfn_end; pfn++) {
2367 page = pfn_to_page(pfn);
2368
2369 /* Skip free buddy pages */
2370 if (PageBuddy(page)) {
2371 order = READ_ONCE(page_private(page));
2372 if (order < MAX_ORDER) {
2373 pfn += (1UL << order) - 1;
2374 continue;
2375 }
2376 }
2377
2378 /* Only care head page of THP and hugetlb */
2379 if (PageTransHuge(page)) {
2380 order = compound_order(page);
2381 if (order < MAX_ORDER)
2382 pfn += (1UL << order) - 1;
2383 }
2384
2385 map_counts += page_mapcount(page);
2386 }
2387 }
2388
2389 return (map_counts << 1) > nr_plugged_pages;
2390 }
2391
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2025-11-16 9:19 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=202511161744.HyR3AxRq-lkp@intel.com \
--to=lkp@intel.com \
--cc=aubrey.li@linux.intel.com \
--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.