[hnaz-mm:master 185/280] mm/swap.c:637:9: error: implicit declaration of function 'mlock_page_drain'

From: kernel test robot
Date: Fri Feb 11 2022 - 13:00:07 EST


tree: https://github.com/hnaz/linux-mm master
head: f3077ea7c68baf736944f1ebf7d8bae1668a9e51
commit: 4b3b8bd6c8287d44703aaaeeba94a500821703c9 [185/280] mm/munlock: mlock_page() munlock_page() batch by pagevec
config: h8300-allnoconfig (https://download.01.org/0day-ci/archive/20220212/202202120048.jS44WAmd-lkp@xxxxxxxxx/config)
compiler: h8300-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/hnaz/linux-mm/commit/4b3b8bd6c8287d44703aaaeeba94a500821703c9
git remote add hnaz-mm https://github.com/hnaz/linux-mm
git fetch --no-tags hnaz-mm master
git checkout 4b3b8bd6c8287d44703aaaeeba94a500821703c9
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=h8300 SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

mm/swap.c: In function 'lru_add_drain_cpu':
>> mm/swap.c:637:9: error: implicit declaration of function 'mlock_page_drain' [-Werror=implicit-function-declaration]
637 | mlock_page_drain(cpu);
| ^~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors


vim +/mlock_page_drain +637 mm/swap.c

600
601 /*
602 * Drain pages out of the cpu's pagevecs.
603 * Either "cpu" is the current CPU, and preemption has already been
604 * disabled; or "cpu" is being hot-unplugged, and is already dead.
605 */
606 void lru_add_drain_cpu(int cpu)
607 {
608 struct pagevec *pvec = &per_cpu(lru_pvecs.lru_add, cpu);
609
610 if (pagevec_count(pvec))
611 __pagevec_lru_add(pvec);
612
613 pvec = &per_cpu(lru_rotate.pvec, cpu);
614 /* Disabling interrupts below acts as a compiler barrier. */
615 if (data_race(pagevec_count(pvec))) {
616 unsigned long flags;
617
618 /* No harm done if a racing interrupt already did this */
619 local_lock_irqsave(&lru_rotate.lock, flags);
620 pagevec_lru_move_fn(pvec, pagevec_move_tail_fn);
621 local_unlock_irqrestore(&lru_rotate.lock, flags);
622 }
623
624 pvec = &per_cpu(lru_pvecs.lru_deactivate_file, cpu);
625 if (pagevec_count(pvec))
626 pagevec_lru_move_fn(pvec, lru_deactivate_file_fn);
627
628 pvec = &per_cpu(lru_pvecs.lru_deactivate, cpu);
629 if (pagevec_count(pvec))
630 pagevec_lru_move_fn(pvec, lru_deactivate_fn);
631
632 pvec = &per_cpu(lru_pvecs.lru_lazyfree, cpu);
633 if (pagevec_count(pvec))
634 pagevec_lru_move_fn(pvec, lru_lazyfree_fn);
635
636 activate_page_drain(cpu);
> 637 mlock_page_drain(cpu);
638 }
639

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx