Re: [PATCH 8/8] mm: page_alloc: consolidate free page accounting

From: kernel test robot
Date: Wed Aug 23 2023 - 18:43:01 EST


Hi Johannes,

kernel test robot noticed the following build errors:

[auto build test ERROR on linus/master]
[also build test ERROR on v6.5-rc7]
[cannot apply to akpm-mm/mm-everything next-20230823]
[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/Johannes-Weiner/mm-page_alloc-use-get_pfnblock_migratetype-where-pfn-available/20230822-024104
base: linus/master
patch link: https://lore.kernel.org/r/20230821183733.106619-9-hannes%40cmpxchg.org
patch subject: [PATCH 8/8] mm: page_alloc: consolidate free page accounting
config: x86_64-randconfig-075-20230823 (https://download.01.org/0day-ci/archive/20230824/202308240628.YoW5rQTu-lkp@xxxxxxxxx/config)
compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07)
reproduce: (https://download.01.org/0day-ci/archive/20230824/202308240628.YoW5rQTu-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202308240628.YoW5rQTu-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

>> mm/page_alloc.c:6702:2: error: call to undeclared function '__mod_zone_freepage_state'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
__mod_zone_freepage_state(zone, -MAX_ORDER_NR_PAGES, MIGRATE_MOVABLE);
^
mm/page_alloc.c:6702:2: note: did you mean '__mod_zone_page_state'?
include/linux/vmstat.h:319:20: note: '__mod_zone_page_state' declared here
static inline void __mod_zone_page_state(struct zone *zone,
^
mm/page_alloc.c:6754:2: error: call to undeclared function '__mod_zone_freepage_state'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
__mod_zone_freepage_state(zone, MAX_ORDER_NR_PAGES, MIGRATE_MOVABLE);
^
2 errors generated.


vim +/__mod_zone_freepage_state +6702 mm/page_alloc.c

dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6681
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6682 static bool try_to_accept_memory_one(struct zone *zone)
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6683 {
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6684 unsigned long flags;
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6685 struct page *page;
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6686 bool last;
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6687
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6688 if (list_empty(&zone->unaccepted_pages))
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6689 return false;
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6690
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6691 spin_lock_irqsave(&zone->lock, flags);
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6692 page = list_first_entry_or_null(&zone->unaccepted_pages,
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6693 struct page, lru);
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6694 if (!page) {
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6695 spin_unlock_irqrestore(&zone->lock, flags);
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6696 return false;
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6697 }
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6698
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6699 list_del(&page->lru);
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6700 last = list_empty(&zone->unaccepted_pages);
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6701
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 @6702 __mod_zone_freepage_state(zone, -MAX_ORDER_NR_PAGES, MIGRATE_MOVABLE);
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6703 __mod_zone_page_state(zone, NR_UNACCEPTED, -MAX_ORDER_NR_PAGES);
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6704 spin_unlock_irqrestore(&zone->lock, flags);
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6705
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6706 accept_page(page, MAX_ORDER);
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6707
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6708 __free_pages_ok(page, MAX_ORDER, FPI_TO_TAIL);
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6709
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6710 if (last)
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6711 static_branch_dec(&zones_with_unaccepted_pages);
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6712
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6713 return true;
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6714 }
dcdfdd40fa82b6 Kirill A. Shutemov 2023-06-06 6715

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki