Hi Kenta,
[FYI, it's a private test report for your RFC patch.]
[auto build test WARNING on tip/sched/core]
[also build test WARNING on linux/master linus/master v5.12-rc8 next-20210421]
[cannot apply to kvm/queue]
[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/Kenta-Ishiguro/Mitigating-Excess...
base:
https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git
3f5ad91488e813026f8c5f46b839e91a83912703
config: x86_64-randconfig-s022-20210421 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-341-g8af24329-dirty
#
https://github.com/0day-ci/linux/commit/b803c1316e4fd9a6781869b66566f28be...
git remote add linux-review
https://github.com/0day-ci/linux
git fetch --no-tags linux-review
Kenta-Ishiguro/Mitigating-Excessive-Pause-Loop-Exiting-in-VM-Agnostic-KVM/20210421-234914
git checkout b803c1316e4fd9a6781869b66566f28bef3c97f4
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
kernel/sched/fair.c:876:34: sparse: sparse: incorrect type in argument 1 (different
address spaces) @@ expected struct sched_entity *se @@ got struct sched_entity
[noderef] __rcu * @@
kernel/sched/fair.c:876:34: sparse: expected struct sched_entity *se
kernel/sched/fair.c:876:34: sparse: got struct sched_entity [noderef] __rcu *
kernel/sched/fair.c:10662:9: sparse: sparse: incorrect type in assignment (different
address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct
sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:10662:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:10662:9: sparse: got struct sched_domain [noderef] __rcu
*parent
kernel/sched/fair.c:4931:22: sparse: sparse: incompatible types in comparison
expression (different address spaces):
kernel/sched/fair.c:4931:22: sparse: struct task_struct [noderef] __rcu *
kernel/sched/fair.c:4931:22: sparse: struct task_struct *
kernel/sched/fair.c:5454:38: sparse: sparse: incorrect type in initializer (different
address spaces) @@ expected struct task_struct *curr @@ got struct task_struct
[noderef] __rcu *curr @@
kernel/sched/fair.c:5454:38: sparse: expected struct task_struct *curr
kernel/sched/fair.c:5454:38: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/fair.c:6680:20: sparse: sparse: incorrect type in assignment (different
address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct
sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:6680:20: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:6680:20: sparse: got struct sched_domain [noderef] __rcu
*parent
kernel/sched/fair.c:6802:9: sparse: sparse: incorrect type in assignment (different
address spaces) @@ expected struct sched_domain *[assigned] tmp @@ got struct
sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:6802:9: sparse: expected struct sched_domain *[assigned] tmp
kernel/sched/fair.c:6802:9: sparse: got struct sched_domain [noderef] __rcu
*parent
kernel/sched/fair.c:7000:38: sparse: sparse: incorrect type in initializer (different
address spaces) @@ expected struct task_struct *curr @@ got struct task_struct
[noderef] __rcu *curr @@
kernel/sched/fair.c:7000:38: sparse: expected struct task_struct *curr
kernel/sched/fair.c:7000:38: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/fair.c:7251:38: sparse: sparse: incorrect type in initializer (different
address spaces) @@ expected struct task_struct *curr @@ got struct task_struct
[noderef] __rcu *curr @@
kernel/sched/fair.c:7251:38: sparse: expected struct task_struct *curr
kernel/sched/fair.c:7251:38: sparse: got struct task_struct [noderef] __rcu *curr
> kernel/sched/fair.c:7318:14: sparse: sparse: incorrect type in
assignment (different address spaces) @@ expected struct task_struct *curr @@ got
struct task_struct [noderef] __rcu *curr @@
kernel/sched/fair.c:7318:14: sparse:
expected struct task_struct *curr
kernel/sched/fair.c:7318:14: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/fair.c:8276:40: sparse: sparse: incorrect type in initializer (different
address spaces) @@ expected struct sched_domain *child @@ got struct sched_domain
[noderef] __rcu *child @@
kernel/sched/fair.c:8276:40: sparse: expected struct sched_domain *child
kernel/sched/fair.c:8276:40: sparse: got struct sched_domain [noderef] __rcu
*child
kernel/sched/fair.c:8724:22: sparse: sparse: incompatible types in comparison
expression (different address spaces):
kernel/sched/fair.c:8724:22: sparse: struct task_struct [noderef] __rcu *
kernel/sched/fair.c:8724:22: sparse: struct task_struct *
kernel/sched/fair.c:9984:9: sparse: sparse: incorrect type in assignment (different
address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct
sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:9984:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:9984:9: sparse: got struct sched_domain [noderef] __rcu
*parent
kernel/sched/fair.c:9643:44: sparse: sparse: incorrect type in initializer (different
address spaces) @@ expected struct sched_domain *sd_parent @@ got struct
sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:9643:44: sparse: expected struct sched_domain *sd_parent
kernel/sched/fair.c:9643:44: sparse: got struct sched_domain [noderef] __rcu
*parent
kernel/sched/fair.c:10056:9: sparse: sparse: incorrect type in assignment (different
address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct
sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:10056:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:10056:9: sparse: got struct sched_domain [noderef] __rcu
*parent
kernel/sched/fair.c:4599:31: sparse: sparse: marked inline, but without a definition
kernel/sched/fair.c: note: in included file:
kernel/sched/sched.h:1729:25: sparse: sparse: incompatible types in comparison
expression (different address spaces):
kernel/sched/sched.h:1729:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:1729:25: sparse: struct task_struct *
kernel/sched/sched.h:1884:9: sparse: sparse: incompatible types in comparison
expression (different address spaces):
kernel/sched/sched.h:1884:9: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:1884:9: sparse: struct task_struct *
kernel/sched/sched.h:1729:25: sparse: sparse: incompatible types in comparison
expression (different address spaces):
kernel/sched/sched.h:1729:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:1729:25: sparse: struct task_struct *
kernel/sched/sched.h:1729:25: sparse: sparse: incompatible types in comparison
expression (different address spaces):
kernel/sched/sched.h:1729:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:1729:25: sparse: struct task_struct *
vim +7318 kernel/sched/fair.c
7304
7305 static bool yield_to_task_fair(struct rq *rq, struct task_struct *p)
7306 {
7307 struct sched_entity *se = &p->se;
7308 struct task_struct *curr;
7309 struct sched_entity *yield_se;
7310
7311 /* throttled hierarchies are not runnable */
7312 if (!se->on_rq || throttled_hierarchy(cfs_rq_of(se)))
7313 return false;
7314
7315 /* Tell the scheduler that we'd really like pse to run next. */
7316 set_next_buddy(se);
7317
7318 curr = rq->curr;
7319 yield_se = &curr->se;
7320 deboost_yield_task(se, yield_se);
7321
7322 yield_task_fair(rq);
7323
7324 return true;
7325 }
7326
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org