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

