Re: [RESEND PATCH v11 1/2] sched/deadline: Add support for SD_PREFER_SIBLING on find_later_rq()

From: kbuild test robot
Date: Wed Jan 10 2018 - 12:23: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/sched.h:2104:16: sparse: incompatible types in comparison expression (different address spaces)
kernel/sched/sched.h:2104:16: sparse: incompatible types in comparison expression (different address spaces)
kernel/sched/sched.h:2104:16: sparse: incompatible types in comparison expression (different address spaces)
kernel/sched/sched.h:2104:16: sparse: incompatible types in comparison expression (different address spaces)
kernel/sched/sched.h:2104:16: sparse: incompatible types in comparison expression (different address spaces)
kernel/sched/sched.h:2104:16: sparse: incompatible types in comparison expression (different address spaces)
kernel/sched/sched.h:2104:16: sparse: incompatible types in comparison expression (different address spaces)
kernel/sched/deadline.c:1124:5: sparse: symbol 'grub_reclaim' was not declared. Should it be
kernel/sched/sched.h:2104:16: sparse: incompatible types in comparison expression (different address spaces)
kernel/sched/sched.h:2104:16: sparse: incompatible types in comparison expression (different address spaces)
kernel/sched/sched.h:2104:16: sparse: incompatible types in comparison expression (different address spaces)
kernel/sched/deadline.c:1916:9: sparse: incompatible types in comparison expression (different address spaces)
kernel/sched/sched.h:2104:16: sparse: incompatible types in comparison expression (different address spaces)
>> kernel/sched/deadline.c:1857:55: sparse: incorrect type in argument 1 (different modifiers) @@ expected struct sched_domain @@ got structstruct sched_domain @@
kernel/sched/deadline.c:1857:55: expected struct sched_domain
kernel/sched/deadline.c:1857:55: got struct sched_domain const
kernel/sched/deadline.c:1858:64: sparse: incorrect type in argument 1 (different modifiers) @@ expected struct sched_domain @@ got structstruct sched_domain @@
kernel/sched/deadline.c:1858:64: expected struct sched_domain
kernel/sched/deadline.c:1858:64: got struct sched_domain const
kernel/sched/deadline.c:563:9: sparse: context imbalance in 'dl_task_offline_migration' - unexpected unlock
kernel/sched/deadline.c:2060:9: sparse: context imbalance in 'find_lock_later_rq' - different lock contexts for basic block
kernel/sched/deadline.c:2155:23: sparse: context imbalance in 'push_dl_task' - unexpected unlock
kernel/sched/sched.h:1856:17: sparse: context imbalance in 'pull_dl_task' - unexpected unlock
kernel/sched/deadline.c: In function 'find_cpu':
kernel/sched/deadline.c:1857: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/deadline.c:18:
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/deadline.c:1858: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/deadline.c:18:
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 +1857 kernel/sched/deadline.c

1849
1850 /*
1851 * Find the first cpu in: mask & sd & ~prefer
1852 */
1853 static int find_cpu(const struct cpumask *mask,
1854 const struct sched_domain *sd,
1855 const struct sched_domain *prefer)
1856 {
> 1857 const struct cpumask *sds = sched_domain_span(sd);
1858 const struct cpumask *ps = prefer ? sched_domain_span(prefer) : NULL;
1859 int cpu;
1860
1861 for_each_cpu(cpu, mask) {
1862 if (!cpumask_test_cpu(cpu, sds))
1863 continue;
1864 if (ps && cpumask_test_cpu(cpu, ps))
1865 continue;
1866 break;
1867 }
1868
1869 return cpu;
1870 }
1871

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