On 1/11/2018 2:22 AM, kbuild test robot wrote:
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);

Thanks a lot.

I will fix and respin it.

I'm gonna change prototype of sched_domain_span() rather than
find_cpu() to avoid the warning. Is it ok to fix it that way?

   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


--
Thanks,
Byungchul

Reply via email to