Re: [PATCH] mm: Only re-generate demotion targets when a numa node changes its N_CPU state

From: kernel test robot
Date: Wed Mar 09 2022 - 19:57:13 EST


Hi Oscar,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on hnaz-mm/master]

url: https://github.com/0day-ci/linux/commits/Oscar-Salvador/mm-Only-re-generate-demotion-targets-when-a-numa-node-changes-its-N_CPU-state/20220309-224707
base: https://github.com/hnaz/linux-mm master
config: sparc-randconfig-r001-20220309 (https://download.01.org/0day-ci/archive/20220310/202203100830.iDtoMHKt-lkp@xxxxxxxxx/config)
compiler: sparc64-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/0day-ci/linux/commit/8af0c9ff9475c64e31963a5810b127875081c5ff
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Oscar-Salvador/mm-Only-re-generate-demotion-targets-when-a-numa-node-changes-its-N_CPU-state/20220309-224707
git checkout 8af0c9ff9475c64e31963a5810b127875081c5ff
# 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=sparc SHELL=/bin/bash kernel/sched/

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

All warnings (new ones prefixed by >>):

In file included from kernel/sched/sched.h:53,
from kernel/sched/core.c:13:
include/linux/migrate.h:54:20: error: function declaration isn't a prototype [-Werror=strict-prototypes]
54 | static inline void set_migration_target_nodes() {}
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/migrate.h: In function 'set_migration_target_nodes':
>> include/linux/migrate.h:54:20: warning: old-style function definition [-Wold-style-definition]
kernel/sched/core.c: At top level:
kernel/sched/core.c:3442:6: warning: no previous prototype for 'sched_set_stop_task' [-Wmissing-prototypes]
3442 | void sched_set_stop_task(int cpu, struct task_struct *stop)
| ^~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from kernel/sched/sched.h:53,
from kernel/sched/loadavg.c:9:
include/linux/migrate.h:54:20: error: function declaration isn't a prototype [-Werror=strict-prototypes]
54 | static inline void set_migration_target_nodes() {}
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/migrate.h: In function 'set_migration_target_nodes':
>> include/linux/migrate.h:54:20: warning: old-style function definition [-Wold-style-definition]
cc1: some warnings being treated as errors
--
In file included from kernel/sched/sched.h:53,
from kernel/sched/fair.c:23:
include/linux/migrate.h:54:20: error: function declaration isn't a prototype [-Werror=strict-prototypes]
54 | static inline void set_migration_target_nodes() {}
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/migrate.h: In function 'set_migration_target_nodes':
>> include/linux/migrate.h:54:20: warning: old-style function definition [-Wold-style-definition]
kernel/sched/fair.c: At top level:
kernel/sched/fair.c:11135:6: warning: no previous prototype for 'task_vruntime_update' [-Wmissing-prototypes]
11135 | void task_vruntime_update(struct rq *rq, struct task_struct *p, bool in_fi)
| ^~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from kernel/sched/sched.h:53,
from kernel/sched/rt.c:6:
include/linux/migrate.h:54:20: error: function declaration isn't a prototype [-Werror=strict-prototypes]
54 | static inline void set_migration_target_nodes() {}
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/migrate.h: In function 'set_migration_target_nodes':
>> include/linux/migrate.h:54:20: warning: old-style function definition [-Wold-style-definition]
kernel/sched/rt.c: At top level:
kernel/sched/rt.c:730:6: warning: no previous prototype for 'sched_rt_bandwidth_account' [-Wmissing-prototypes]
730 | bool sched_rt_bandwidth_account(struct rt_rq *rt_rq)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors


vim +54 include/linux/migrate.h

36
37 extern void migrate_page_states(struct page *newpage, struct page *page);
38 extern void migrate_page_copy(struct page *newpage, struct page *page);
39 extern int migrate_huge_page_move_mapping(struct address_space *mapping,
40 struct page *newpage, struct page *page);
41 extern int migrate_page_move_mapping(struct address_space *mapping,
42 struct page *newpage, struct page *page, int extra_count);
43 void migration_entry_wait_on_locked(swp_entry_t entry, pte_t *ptep,
44 spinlock_t *ptl);
45 void folio_migrate_flags(struct folio *newfolio, struct folio *folio);
46 void folio_migrate_copy(struct folio *newfolio, struct folio *folio);
47 int folio_migrate_mapping(struct address_space *mapping,
48 struct folio *newfolio, struct folio *folio, int extra_count);
49
50 extern bool numa_demotion_enabled;
51 #ifdef CONFIG_HOTPLUG_CPU
52 extern void set_migration_target_nodes(void);
53 #else
> 54 static inline void set_migration_target_nodes() {}
55 #endif
56 #else
57

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