tree:
https://github.com/zen-kernel/zen-kernel 5.5/muqss
head: bf569053d0fe08b3615793a0105afff3d28f3676
commit: c58e2d61f83d40ac72e858d41b3b277b345b9387 [1/22] MultiQueue Skiplist Scheduler
v0.196.
config: arm64-allyesconfig (attached as .config)
compiler: aarch64-linux-gcc (GCC) 7.5.0
reproduce:
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout c58e2d61f83d40ac72e858d41b3b277b345b9387
# save the attached .config to linux build tree
GCC_VERSION=7.5.0 make.cross ARCH=arm64
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
kernel/sched/MuQSS.c: In function 'unlock_rq':
kernel/sched/MuQSS.c:463:46: error: macro "spin_release" passed 3 arguments,
but takes just 2
spin_release(&rq->lock->dep_map, 1, _RET_IP_);
^
kernel/sched/MuQSS.c:463:2: error: 'spin_release' undeclared (first use in this
function); did you mean 'seq_release'?
spin_release(&rq->lock->dep_map, 1, _RET_IP_);
^~~~~~~~~~~~
seq_release
kernel/sched/MuQSS.c:463:2: note: each undeclared identifier is reported only once for
each function it appears in
kernel/sched/MuQSS.c: In function 'prepare_lock_switch':
kernel/sched/MuQSS.c:2583:47: error: macro "spin_release" passed 3 arguments,
but takes just 2
spin_release(&rq->lock->dep_map, 1, _THIS_IP_);
^
kernel/sched/MuQSS.c:2583:2: error: 'spin_release' undeclared (first use in
this function); did you mean 'seq_release'?
spin_release(&rq->lock->dep_map, 1, _THIS_IP_);
^~~~~~~~~~~~
seq_release
In file included from include/asm-generic/percpu.h:7:0,
from arch/arm64/include/asm/percpu.h:228,
from arch/arm64/include/asm/smp.h:28,
from include/linux/smp.h:68,
from arch/arm64/include/asm/arch_timer.h:18,
from arch/arm64/include/asm/timex.h:8,
from include/linux/timex.h:65,
from include/linux/clocksource.h:13,
from include/linux/clockchips.h:14,
from include/linux/tick.h:8,
from include/linux/sched/isolation.h:6,
from kernel/sched/MuQSS.c:35:
kernel/sched/MuQSS.c: In function 'llc_core_cpumask':
> kernel/sched/MuQSS.c:6758:17: error: 'cpu_llc_shared_map'
undeclared (first use in this function); did you mean 'sd_llc_shared'?
return per_cpu(cpu_llc_shared_map, cpu);
^
include/linux/percpu-defs.h:220:47: note: in definition of macro
'__verify_pcpu_ptr'
const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \
^~~
include/linux/percpu-defs.h:270:29: note: in expansion of macro 'per_cpu_ptr'
#define per_cpu(var, cpu) (*per_cpu_ptr(&(var), cpu))
^~~~~~~~~~~
kernel/sched/MuQSS.c:6758:9: note: in expansion of macro 'per_cpu'
return per_cpu(cpu_llc_shared_map, cpu);
^~~~~~~
kernel/sched/MuQSS.c: In function 'sched_init_smp':
> kernel/sched/MuQSS.c:7071:85: error: 'cpu_llc_id'
undeclared (first use in this function); did you mean 'sd_llc_id'?
printk(KERN_DEBUG "MuQSS CPU %d llc %d RQ order %d RQ %d llc %d\n", cpu,
per_cpu(cpu_llc_id, cpu), i,
^
include/linux/percpu-defs.h:220:47: note: in definition of macro
'__verify_pcpu_ptr'
const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \
^~~
include/linux/percpu-defs.h:270:29: note: in expansion of macro 'per_cpu_ptr'
#define per_cpu(var, cpu) (*per_cpu_ptr(&(var), cpu))
^~~~~~~~~~~
kernel/sched/MuQSS.c:7071:77: note: in expansion of macro 'per_cpu'
printk(KERN_DEBUG "MuQSS CPU %d llc %d RQ order %d RQ %d llc %d\n", cpu,
per_cpu(cpu_llc_id, cpu), i,
^~~~~~~
kernel/sched/MuQSS.c: In function 'llc_core_cpumask':
kernel/sched/MuQSS.c:6759:1: warning: control reaches end of non-void function
[-Wreturn-type]
}
^
vim +6758 kernel/sched/MuQSS.c
6723
6724 #if defined(CONFIG_SCHED_SMT) || defined(CONFIG_SCHED_MC)
6725 /*
6726 * Cheaper version of the below functions in case support for SMT and MC is
6727 * compiled in but CPUs have no siblings.
6728 */
6729 static bool sole_cpu_idle(struct rq *rq)
6730 {
6731 return rq_idle(rq);
6732 }
6733 #endif
6734 #ifdef CONFIG_SCHED_SMT
6735 static const cpumask_t *thread_cpumask(int cpu)
6736 {
6737 return topology_sibling_cpumask(cpu);
6738 }
6739 /* All this CPU's SMT siblings are idle */
6740 static bool siblings_cpu_idle(struct rq *rq)
6741 {
6742 return cpumask_subset(&rq->thread_mask, &cpu_idle_map);
6743 }
6744 #endif
6745 #ifdef CONFIG_SCHED_MC
6746 static const cpumask_t *core_cpumask(int cpu)
6747 {
6748 return topology_core_cpumask(cpu);
6749 }
6750 /* All this CPU's shared cache siblings are idle */
6751 static bool cache_cpu_idle(struct rq *rq)
6752 {
6753 return cpumask_subset(&rq->core_mask, &cpu_idle_map);
6754 }
6755 /* MC siblings CPU mask which share the same LLC */
6756 static const cpumask_t *llc_core_cpumask(int cpu)
6757 {
6758 return per_cpu(cpu_llc_shared_map, cpu);
6759 }
6760 #endif
6761
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation