[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202201280300.xX8fHtiK-lkp@intel.com>
Date: Fri, 28 Jan 2022 03:39:00 +0800
From: kernel test robot <lkp@...el.com>
To: David Hildenbrand <david@...hat.com>
Cc: kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org
Subject: [davidhildenbrand:single_zone 4/4] drivers/base/memory.c:648:14:
warning: no previous prototype for 'early_node_zone_for_memory_block'
tree: git://github.com/davidhildenbrand/linux single_zone
head: 176a3d535903312944f7489127f520c5494bc810
commit: 176a3d535903312944f7489127f520c5494bc810 [4/4] tmp
config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20220128/202201280300.xX8fHtiK-lkp@intel.com/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/davidhildenbrand/linux/commit/176a3d535903312944f7489127f520c5494bc810
git remote add davidhildenbrand git://github.com/davidhildenbrand/linux
git fetch --no-tags davidhildenbrand single_zone
git checkout 176a3d535903312944f7489127f520c5494bc810
# save the config file to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>
All warnings (new ones prefixed by >>):
>> drivers/base/memory.c:648:14: warning: no previous prototype for 'early_node_zone_for_memory_block' [-Wmissing-prototypes]
648 | struct zone *early_node_zone_for_memory_block(int nid, struct memory_block *mem)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/early_node_zone_for_memory_block +648 drivers/base/memory.c
647
> 648 struct zone *early_node_zone_for_memory_block(int nid, struct memory_block *mem)
649 {
650 const unsigned long start_pfn = section_nr_to_pfn(mem->start_section_nr);
651 const unsigned long nr_pages = PAGES_PER_SECTION * sections_per_block;
652
653 struct zone *zone, *matching_zone = NULL;
654 pg_data_t *pgdat = NODE_DATA(nid);
655 int i;
656
657 /*
658 * This logic only works for early memory, when the applicable zones
659 * already span the memory block. We don't expect overlapping zones on
660 * a single node for early memory. So if we're told that some pfns
661 * of a node fall into this memory block, we can assume that all node
662 * zones that intersect with the memory block are actually applicable.
663 * No need to look at the memmap.
664 *
665 * Memory hot(un)plug updates the zone manually after memory
666 * onlinig/offlining succeed.
667 */
668 for (i = 0; i < MAX_NR_ZONES; i++) {
669 zone = pgdat->node_zones + i;
670 if (!populated_zone(zone))
671 continue;
672 if (!zone_intersects(zone, start_pfn, nr_pages))
673 continue;
674 if (!matching_zone) {
675 matching_zone = zone;
676 continue;
677 }
678 /* Spans multiple zones ... */
679 matching_zone = NULL;
680 break;
681 }
682 return matching_zone;
683 }
684
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Powered by blists - more mailing lists