Re: [PATCH] mm: hugetlb: eliminate memory-less nodes handling

From: kernel test robot
Date: Fri Sep 02 2022 - 00:49:54 EST


Hi Muchun,

I love your patch! Yet something to improve:

[auto build test ERROR on akpm-mm/mm-everything]

url: https://github.com/intel-lab-lkp/linux/commits/Muchun-Song/mm-hugetlb-eliminate-memory-less-nodes-handling/20220901-163132
base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
config: loongarch-buildonly-randconfig-r004-20220901 (https://download.01.org/0day-ci/archive/20220902/202209021255.1ChhyCsl-lkp@xxxxxxxxx/config)
compiler: loongarch64-linux-gcc (GCC) 12.1.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/intel-lab-lkp/linux/commit/8e3d203cb06be81565d117b3f6d5e279a833174c
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Muchun-Song/mm-hugetlb-eliminate-memory-less-nodes-handling/20220901-163132
git checkout 8e3d203cb06be81565d117b3f6d5e279a833174c
# save the config file
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 ARCH=loongarch

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

All errors (new ones prefixed by >>):

drivers/base/node.c: In function 'register_node':
>> drivers/base/node.c:614:17: error: implicit declaration of function 'hugetlb_register_node'; did you mean 'unregister_node'? [-Werror=implicit-function-declaration]
614 | hugetlb_register_node(node);
| ^~~~~~~~~~~~~~~~~~~~~
| unregister_node
drivers/base/node.c: In function 'unregister_node':
>> drivers/base/node.c:630:9: error: implicit declaration of function 'hugetlb_unregister_node'; did you mean 'unregister_node'? [-Werror=implicit-function-declaration]
630 | hugetlb_unregister_node(node);
| ^~~~~~~~~~~~~~~~~~~~~~~
| unregister_node
cc1: some warnings being treated as errors


vim +614 drivers/base/node.c

594
595 /*
596 * register_node - Setup a sysfs device for a node.
597 * @num - Node number to use when creating the device.
598 *
599 * Initialize and register the node device.
600 */
601 static int register_node(struct node *node, int num)
602 {
603 int error;
604
605 node->dev.id = num;
606 node->dev.bus = &node_subsys;
607 node->dev.release = node_device_release;
608 node->dev.groups = node_dev_groups;
609 error = device_register(&node->dev);
610
611 if (error) {
612 put_device(&node->dev);
613 } else {
> 614 hugetlb_register_node(node);
615 compaction_register_node(node);
616 }
617
618 return error;
619 }
620
621 /**
622 * unregister_node - unregister a node device
623 * @node: node going away
624 *
625 * Unregisters a node device @node. All the devices on the node must be
626 * unregistered before calling this function.
627 */
628 void unregister_node(struct node *node)
629 {
> 630 hugetlb_unregister_node(node);
631 compaction_unregister_node(node);
632 node_remove_accesses(node);
633 node_remove_caches(node);
634 device_unregister(&node->dev);
635 }
636

--
0-DAY CI Kernel Test Service
https://01.org/lkp