Re: [RESEND PATCH v11 2/2] sched/rt: Add support for SD_PREFER_SIBLING on find_lowest_rq()

From: kbuild test robot
Date: Wed Jan 10 2018 - 12:46:01 EST


Hi Byungchul,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on tip/sched/core]
[also build test WARNING on v4.15-rc7 next-20180110]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Byungchul-Park/sched-deadline-Add-support-for-SD_PREFER_SIBLING-on-find_later_rq/20180110-225946
reproduce:
# apt-get install sparse
make ARCH=x86_64 allmodconfig
make C=1 CF=-D__CHECK_ENDIAN__


sparse warnings: (new ones prefixed by >>)

kernel/sched/sched.h:2104:16: sparse: incompatible types in comparison expression (different address spaces)
kernel/sched/rt.c:1681:9: sparse: incompatible types in comparison expression (different address spaces)
>> kernel/sched/rt.c:1629:55: sparse: incorrect type in argument 1 (different modifiers) @@ expected struct sched_domain @@ got structstruct sched_domain @@
kernel/sched/rt.c:1629:55: expected struct sched_domain
kernel/sched/rt.c:1629:55: got struct sched_domain const
kernel/sched/rt.c:1630:64: sparse: incorrect type in argument 1 (different modifiers) @@ expected struct sched_domain @@ got structstruct sched_domain @@
kernel/sched/rt.c:1630:64: expected struct sched_domain
kernel/sched/rt.c:1630:64: got struct sched_domain const
kernel/sched/rt.c:1824:9: sparse: context imbalance in 'find_lock_lowest_rq' - different lock contexts for basic block
kernel/sched/rt.c:1919:9: sparse: context imbalance in 'push_rt_task' - unexpected unlock
kernel/sched/rt.c: In function 'find_cpu':
kernel/sched/rt.c:1629:48: warning: passing argument 1 of 'sched_domain_span' discards 'const' qualifier from pointer target type
const struct cpumask = sched_domain_span(sd);
^~
In file included from kernel/sched/sched.h:6:0,
from kernel/sched/rt.c:7:
include/linux/sched/topology.h:160:31: note: expected 'struct sched_domain but argument is of type 'const struct sched_domain
static inline struct cpumask sched_domain
^~~~~~~~~~~~~~~~~
kernel/sched/rt.c:1630:57: warning: passing argument 1 of 'sched_domain_span' discards 'const' qualifier from pointer target type
const struct cpumask = prefer sched_domain_span(prefer) : NULL;
^~~~~~
In file included from kernel/sched/sched.h:6:0,
from kernel/sched/rt.c:7:
include/linux/sched/topology.h:160:31: note: expected 'struct sched_domain but argument is of type 'const struct sched_domain
static inline struct cpumask sched_domain
^~~~~~~~~~~~~~~~~

vim +1629 kernel/sched/rt.c

1621
1622 /*
1623 * Find the first cpu in: mask & sd & ~prefer
1624 */
1625 static int find_cpu(const struct cpumask *mask,
1626 const struct sched_domain *sd,
1627 const struct sched_domain *prefer)
1628 {
> 1629 const struct cpumask *sds = sched_domain_span(sd);
1630 const struct cpumask *ps = prefer ? sched_domain_span(prefer) : NULL;
1631 int cpu;
1632
1633 for_each_cpu(cpu, mask) {
1634 if (!cpumask_test_cpu(cpu, sds))
1635 continue;
1636 if (ps && cpumask_test_cpu(cpu, ps))
1637 continue;
1638 break;
1639 }
1640
1641 return cpu;
1642 }
1643

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation