Re: [PATCH] sched: topology: make cache topology separate from cpu topology

From: kernel test robot
Date: Thu Mar 10 2022 - 12:36:44 EST


Hi Qing,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on arm64/for-next/core]
[also build test WARNING on driver-core/driver-core-testing tip/sched/core linus/master v5.17-rc7 next-20220310]
[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]

url: https://github.com/0day-ci/linux/commits/Qing-Wang/sched-topology-make-cache-topology-separate-from-cpu-topology/20220310-210139
base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core
config: i386-randconfig-a003 (https://download.01.org/0day-ci/archive/20220311/202203110141.qsdgjdyC-lkp@xxxxxxxxx/config)
compiler: gcc-9 (Ubuntu 9.4.0-1ubuntu1~20.04) 9.4.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/035814a878b0c4cb313ebd35464e2149d8592d89
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Qing-Wang/sched-topology-make-cache-topology-separate-from-cpu-topology/20220310-210139
git checkout 035814a878b0c4cb313ebd35464e2149d8592d89
# save the config file to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=i386 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 >>):

kernel/sched/topology.c: In function 'set_sd_llc':
kernel/sched/topology.c:663:38: error: 'MAX_CPU_CACHE_LEVEL' undeclared (first use in this function)
663 | for (cache_level = 0; cache_level < MAX_CPU_CACHE_LEVEL; cache_level++) {
| ^~~~~~~~~~~~~~~~~~~
kernel/sched/topology.c:663:38: note: each undeclared identifier is reported only once for each function it appears in
kernel/sched/topology.c:664:8: error: 'cache_topology' undeclared (first use in this function); did you mean 'cpu_topology'?
664 | if (!cache_topology[cpu][cache_level])
| ^~~~~~~~~~~~~~
| cpu_topology
>> kernel/sched/topology.c:653:28: warning: parameter 'cpu' set but not used [-Wunused-but-set-parameter]
653 | static void set_sd_llc(int cpu, struct sched_domain *sd, int *first_cpu, int *cpu_num)
| ~~~~^~~


vim +/cpu +653 kernel/sched/topology.c

652
> 653 static void set_sd_llc(int cpu, struct sched_domain *sd, int *first_cpu, int *cpu_num)
654 {
655 int cache_level, cpu_id;
656 int first, last;
657 int id = cpumask_first(sched_domain_span(sd));
658 int size = cpumask_weight(sched_domain_span(sd));
659
660 *first_cpu = id;
661 *cpu_num = size;
662
> 663 for (cache_level = 0; cache_level < MAX_CPU_CACHE_LEVEL; cache_level++) {
664 if (!cache_topology[cpu][cache_level])
665 break;
666
667 first = -1;
668 last = id;
669 for (cpu_id = 0; cpu_id < NR_CPUS; cpu_id++) {
670 if (cache_topology[cpu][cache_level] == cache_topology[cpu_id][cache_level]) {
671 if (cpu_id >= id && cpu_id < id + size) {
672 first = (first == -1)?cpu_id:first;
673 last = cpu_id;
674 } else
675 return;
676 }
677 }
678 *first_cpu = first;
679 *cpu_num = last - first + 1;
680 }
681 }
682

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