* [chrome-os:chromeos-5.4 19643/20381] kernel/sched/rt.c:2146:36: sparse: sparse: context imbalance in 'pull_rt_task' - unexpected unlock
@ 2020-11-19 20:11 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2020-11-19 20:11 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 9356 bytes --]
CC: kbuild-all(a)lists.01.org
TO: cros-kernel-buildreports(a)googlegroups.com
TO: Guenter Roeck <groeck@google.com>
tree: https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-5.4
head: b125f54b0e590d1c99581ddd6d9fbb09d375217e
commit: cfd78171703824626eaffd18de9c0c0bba0698d8 [19643/20381] CHROMIUM: Merge 'v5.4.73' into chromeos-5.4
:::::: branch date: 4 hours ago
:::::: commit date: 3 weeks ago
config: ia64-randconfig-s031-20201119 (attached as .config)
compiler: ia64-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-123-g626c4742-dirty
git remote add chrome-os https://chromium.googlesource.com/chromiumos/third_party/kernel
git fetch --no-tags chrome-os chromeos-5.4
git checkout cfd78171703824626eaffd18de9c0c0bba0698d8
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=ia64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
"sparse warnings: (new ones prefixed by >>)"
kernel/sched/rt.c: note: in included file (through arch/ia64/include/uapi/asm/unistd.h, arch/ia64/include/asm/unistd.h, include/uapi/linux/unistd.h, ...):
./arch/ia64/include/generated/uapi/asm/unistd_64.h:348:39: sparse: sparse: no newline at end of file
kernel/sched/rt.c:1717:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] <asn:4> *parent @@
kernel/sched/rt.c:1717:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/rt.c:1717:9: sparse: got struct sched_domain [noderef] <asn:4> *parent
kernel/sched/rt.c:1782:40: sparse: sparse: context imbalance in 'find_lock_lowest_rq' - unexpected unlock
kernel/sched/rt.c: note: in included file:
kernel/sched/sched.h:2234:17: sparse: sparse: context imbalance in 'push_rt_task' - unexpected unlock
>> kernel/sched/rt.c:2146:36: sparse: sparse: context imbalance in 'pull_rt_task' - unexpected unlock
vim +/pull_rt_task +2146 kernel/sched/rt.c
b6366f048e0caff kernel/sched/rt.c Steven Rostedt 2015-03-18 2123
c6c4927b22a3514 kernel/sched_rt.c Rusty Russell 2008-11-25 2124 for_each_cpu(cpu, this_rq->rd->rto_mask) {
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2125 if (this_cpu == cpu)
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2126 continue;
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2127
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2128 src_rq = cpu_rq(cpu);
74ab8e4f6412c0b kernel/sched_rt.c Gregory Haskins 2008-12-29 2129
74ab8e4f6412c0b kernel/sched_rt.c Gregory Haskins 2008-12-29 2130 /*
74ab8e4f6412c0b kernel/sched_rt.c Gregory Haskins 2008-12-29 2131 * Don't bother taking the src_rq->lock if the next highest
74ab8e4f6412c0b kernel/sched_rt.c Gregory Haskins 2008-12-29 2132 * task is known to be lower-priority than our current task.
74ab8e4f6412c0b kernel/sched_rt.c Gregory Haskins 2008-12-29 2133 * This may look racy, but if this value is about to go
74ab8e4f6412c0b kernel/sched_rt.c Gregory Haskins 2008-12-29 2134 * logically higher, the src_rq will push this task away.
74ab8e4f6412c0b kernel/sched_rt.c Gregory Haskins 2008-12-29 2135 * And if its going logically lower, we do not care
74ab8e4f6412c0b kernel/sched_rt.c Gregory Haskins 2008-12-29 2136 */
74ab8e4f6412c0b kernel/sched_rt.c Gregory Haskins 2008-12-29 2137 if (src_rq->rt.highest_prio.next >=
74ab8e4f6412c0b kernel/sched_rt.c Gregory Haskins 2008-12-29 2138 this_rq->rt.highest_prio.curr)
74ab8e4f6412c0b kernel/sched_rt.c Gregory Haskins 2008-12-29 2139 continue;
74ab8e4f6412c0b kernel/sched_rt.c Gregory Haskins 2008-12-29 2140
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2141 /*
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2142 * We can potentially drop this_rq's lock in
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2143 * double_lock_balance, and another CPU could
a8728944efe2341 kernel/sched_rt.c Gregory Haskins 2008-12-29 2144 * alter this_rq
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2145 */
a8728944efe2341 kernel/sched_rt.c Gregory Haskins 2008-12-29 @2146 double_lock_balance(this_rq, src_rq);
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2147
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2148 /*
e23ee74777f3893 kernel/sched/rt.c Kirill Tkhai 2013-06-07 2149 * We can pull only a task, which is pushable
e23ee74777f3893 kernel/sched/rt.c Kirill Tkhai 2013-06-07 2150 * on its rq, and no others.
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2151 */
e23ee74777f3893 kernel/sched/rt.c Kirill Tkhai 2013-06-07 2152 p = pick_highest_pushable_task(src_rq, this_cpu);
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2153
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2154 /*
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2155 * Do we have an RT task that preempts
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2156 * the to-be-scheduled task?
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2157 */
a8728944efe2341 kernel/sched_rt.c Gregory Haskins 2008-12-29 2158 if (p && (p->prio < this_rq->rt.highest_prio.curr)) {
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2159 WARN_ON(p == src_rq->curr);
da0c1e65b51a289 kernel/sched/rt.c Kirill Tkhai 2014-08-20 2160 WARN_ON(!task_on_rq_queued(p));
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2161
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2162 /*
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2163 * There's a chance that p is higher in priority
97fb7a0a8944bd6 kernel/sched/rt.c Ingo Molnar 2018-03-03 2164 * than what's currently running on its CPU.
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2165 * This is just that p is wakeing up and hasn't
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2166 * had a chance to schedule. We only pull
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2167 * p if it is lower in priority than the
a8728944efe2341 kernel/sched_rt.c Gregory Haskins 2008-12-29 2168 * current task on the run queue
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2169 */
a8728944efe2341 kernel/sched_rt.c Gregory Haskins 2008-12-29 2170 if (p->prio < src_rq->curr->prio)
614ee1f61f667b0 kernel/sched_rt.c Mike Galbraith 2008-01-25 2171 goto skip;
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2172
8046d6806247088 kernel/sched/rt.c Peter Zijlstra 2015-06-11 2173 resched = true;
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2174
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2175 deactivate_task(src_rq, p, 0);
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2176 set_task_cpu(p, this_cpu);
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2177 activate_task(this_rq, p, 0);
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2178 /*
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2179 * We continue with the search, just in
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2180 * case there's an even higher prio task
25985edcedea639 kernel/sched_rt.c Lucas De Marchi 2011-03-30 2181 * in another runqueue. (low likelihood
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2182 * but possible)
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2183 */
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2184 }
614ee1f61f667b0 kernel/sched_rt.c Mike Galbraith 2008-01-25 2185 skip:
1b12bbc747560ea kernel/sched_rt.c Peter Zijlstra 2008-08-11 2186 double_unlock_balance(this_rq, src_rq);
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2187 }
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2188
8046d6806247088 kernel/sched/rt.c Peter Zijlstra 2015-06-11 2189 if (resched)
8046d6806247088 kernel/sched/rt.c Peter Zijlstra 2015-06-11 2190 resched_curr(this_rq);
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2191 }
f65eda4f789168b kernel/sched_rt.c Steven Rostedt 2008-01-25 2192
:::::: The code at line 2146 was first introduced by commit
:::::: a8728944efe23417e38bf22063f06d9d8ee21d59 sched: use highest_prio.curr for pull threshold
:::::: TO: Gregory Haskins <ghaskins@novell.com>
:::::: CC: Gregory Haskins <ghaskins@novell.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 25001 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-11-19 20:11 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-19 20:11 [chrome-os:chromeos-5.4 19643/20381] kernel/sched/rt.c:2146:36: sparse: sparse: context imbalance in 'pull_rt_task' - unexpected unlock kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.