tree:
https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-4.19
head: 45baa007ba13bc516470dbd9379b2f7525a087e1
commit: 1727d28632e4f124f314bc19ad4f40ec183fe60e [52/59] FROMLIST: sched/fair: core wide
vruntime comparison
config: x86_64-allnoconfig (attached as .config)
compiler: clang version 11.0.0 (
https://github.com/llvm/llvm-project
487ca07fcc75d52755c9fe2ee05bcb3b6eeeec44)
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
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
git checkout 1727d28632e4f124f314bc19ad4f40ec183fe60e
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>, old ones prefixed by <<):
In file included from kernel/sched/fair.c:23:
kernel/sched/sched.h:1208:15: warning: variable 'cookie' is uninitialized when
used here [-Wuninitialized]
rf->cookie = lockdep_pin_lock(rq_lockp(rq));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/lockdep.h:455:60: note: expanded from macro 'lockdep_pin_lock'
#define lockdep_pin_lock(l) ({ struct pin_cookie cookie; cookie; })
^~~~~~
kernel/sched/sched.h:1208:15: note: variable 'cookie' is declared here
include/linux/lockdep.h:455:34: note: expanded from macro 'lockdep_pin_lock'
#define lockdep_pin_lock(l) ({ struct pin_cookie cookie; cookie; })
^
<< In file included from kernel/sched/fair.c:23:
> kernel/sched/fair.c:539:11: error: implicit declaration of
function 'is_same_group' [-Werror,-Wimplicit-function-declaration]
while
(!is_same_group(sea, seb)) {
^
<< In file included from kernel/sched/fair.c:23:
> kernel/sched/fair.c:540:25: error: no member named
'depth' in 'struct sched_entity'
int sea_depth = sea->depth;
~~~ ^
kernel/sched/fair.c:541:25: error: no member named 'depth' in 'struct
sched_entity'
int seb_depth = seb->depth;
~~~ ^
<< In file included from kernel/sched/fair.c:23:
> kernel/sched/fair.c:554:14: error: no member named
'parent' in 'struct sched_entity'
while (sea->parent)
~~~ ^
kernel/sched/fair.c:555:14: error: no member named 'parent' in 'struct
sched_entity'
sea = sea->parent;
~~~ ^
kernel/sched/fair.c:556:14: error: no member named 'parent' in 'struct
sched_entity'
while (seb->parent)
~~~ ^
kernel/sched/fair.c:557:14: error: no member named 'parent' in 'struct
sched_entity'
seb = seb->parent;
~~~ ^
kernel/sched/fair.c:5214:6: warning: no previous prototype for function
'init_cfs_bandwidth' [-Wmissing-prototypes]
void init_cfs_bandwidth(struct cfs_bandwidth *cfs_b) {}
^
kernel/sched/fair.c:5214:1: note: declare 'static' if the function is not intended
to be used outside of this translation unit
void init_cfs_bandwidth(struct cfs_bandwidth *cfs_b) {}
^
static
kernel/sched/fair.c:11366:6: warning: no previous prototype for function
'free_fair_sched_group' [-Wmissing-prototypes]
void free_fair_sched_group(struct task_group *tg) { }
^
kernel/sched/fair.c:11366:1: note: declare 'static' if the function is not
intended to be used outside of this translation unit
void free_fair_sched_group(struct task_group *tg) { }
^
static
kernel/sched/fair.c:11368:5: warning: no previous prototype for function
'alloc_fair_sched_group' [-Wmissing-prototypes]
int alloc_fair_sched_group(struct task_group *tg, struct task_group *parent)
^
kernel/sched/fair.c:11368:1: note: declare 'static' if the function is not
intended to be used outside of this translation unit
int alloc_fair_sched_group(struct task_group *tg, struct task_group *parent)
^
static
kernel/sched/fair.c:11373:6: warning: no previous prototype for function
'online_fair_sched_group' [-Wmissing-prototypes]
void online_fair_sched_group(struct task_group *tg) { }
^
kernel/sched/fair.c:11373:1: note: declare 'static' if the function is not
intended to be used outside of this translation unit
void online_fair_sched_group(struct task_group *tg) { }
^
static
kernel/sched/fair.c:11375:6: warning: no previous prototype for function
'unregister_fair_sched_group' [-Wmissing-prototypes]
void unregister_fair_sched_group(struct task_group *tg) { }
^
kernel/sched/fair.c:11375:1: note: declare 'static' if the function is not
intended to be used outside of this translation unit
void unregister_fair_sched_group(struct task_group *tg) { }
^
static
6 warnings and 7 errors generated.
vim +/is_same_group +539 kernel/sched/fair.c
528
529 bool cfs_prio_less(struct task_struct *a, struct task_struct *b)
530 {
531 struct sched_entity *sea = &a->se;
532 struct sched_entity *seb = &b->se;
533 bool samecpu = task_cpu(a) == task_cpu(b);
534 struct task_struct *p;
535 s64 delta;
536
537 if (samecpu) {
538 /* vruntime is per cfs_rq */
539 while (!is_same_group(sea, seb)) {
540 int sea_depth = sea->depth;
541 int seb_depth = seb->depth;
542
543 if (sea_depth >= seb_depth)
544 sea = parent_entity(sea);
545 if (sea_depth <= seb_depth)
546 seb = parent_entity(seb);
547 }
548
549 delta = (s64)(sea->vruntime - seb->vruntime);
550 goto out;
551 }
552
553 /* crosscpu: compare root level se's vruntime to decide priority */
554 while (sea->parent)
555 sea = sea->parent;
556 while (seb->parent)
557 seb = seb->parent;
558 delta = (s64)(sea->vruntime - seb->vruntime);
559
560 out:
561 p = delta > 0 ? b : a;
562 trace_printk("picked %s/%d %s: %Ld %Ld %Ld\n", p->comm, p->pid,
563 samecpu ? "samecpu" : "crosscpu",
564 sea->vruntime, seb->vruntime, delta);
565
566 return delta > 0;
567 }
568
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org