CC: [email protected] TO: Peter Zijlstra <[email protected]>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git sched/core-sched head: 548bcc10e83f30f5e93b795518e942a5a610b34a commit: 548bcc10e83f30f5e93b795518e942a5a610b34a [28/28] sched: prctl() and cgroup interaction :::::: branch date: 5 hours ago :::::: commit date: 5 hours ago config: ia64-randconfig-s031-20210419 (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-330-g09ec74f6-dirty # https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git/commit/?id=548bcc10e83f30f5e93b795518e942a5a610b34a git remote add peterz-queue https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git git fetch --no-tags peterz-queue sched/core-sched git checkout 548bcc10e83f30f5e93b795518e942a5a610b34a # 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__' W=1 ARCH=ia64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> sparse warnings: (new ones prefixed by >>) >> kernel/sched/core_sched.c:325:23: sparse: sparse: context imbalance in >> '__sched_core_update_cookie' - wrong count at exit vim +/__sched_core_update_cookie +325 kernel/sched/core_sched.c fb3d61a5997e1c Peter Zijlstra 2021-03-26 274 fb3d61a5997e1c Peter Zijlstra 2021-03-26 275 /* fb3d61a5997e1c Peter Zijlstra 2021-03-26 276 * sched_core_update_cookie - Common helper to update a task's core cookie. This fb3d61a5997e1c Peter Zijlstra 2021-03-26 277 * updates the selected cookie field. fb3d61a5997e1c Peter Zijlstra 2021-03-26 278 * @p: The task whose cookie should be updated. fb3d61a5997e1c Peter Zijlstra 2021-03-26 279 * @cookie: The new cookie. fb3d61a5997e1c Peter Zijlstra 2021-03-26 280 * @cookie_type: The cookie field to which the cookie corresponds. fb3d61a5997e1c Peter Zijlstra 2021-03-26 281 */ 548bcc10e83f30 Peter Zijlstra 2021-03-31 282 static unsigned long __sched_core_update_cookie(struct task_struct *p, 548bcc10e83f30 Peter Zijlstra 2021-03-31 283 void **spare_fat, 548bcc10e83f30 Peter Zijlstra 2021-03-31 284 unsigned long cookie) fb3d61a5997e1c Peter Zijlstra 2021-03-26 285 { fb3d61a5997e1c Peter Zijlstra 2021-03-26 286 unsigned long old_cookie; fb3d61a5997e1c Peter Zijlstra 2021-03-26 287 struct rq_flags rf; fb3d61a5997e1c Peter Zijlstra 2021-03-26 288 struct rq *rq; fb3d61a5997e1c Peter Zijlstra 2021-03-26 289 bool enqueued; fb3d61a5997e1c Peter Zijlstra 2021-03-26 290 548bcc10e83f30 Peter Zijlstra 2021-03-31 291 raw_spin_lock_irqsave(&p->pi_lock, rf.flags); 548bcc10e83f30 Peter Zijlstra 2021-03-31 292 548bcc10e83f30 Peter Zijlstra 2021-03-31 293 cookie = __sched_core_fat_cookie(p, spare_fat, cookie); 548bcc10e83f30 Peter Zijlstra 2021-03-31 294 if (!cookie_ptr(cookie)) 548bcc10e83f30 Peter Zijlstra 2021-03-31 295 cookie = 0UL; 548bcc10e83f30 Peter Zijlstra 2021-03-31 296 548bcc10e83f30 Peter Zijlstra 2021-03-31 297 rq = __task_rq_lock(p, &rf); fb3d61a5997e1c Peter Zijlstra 2021-03-26 298 fb3d61a5997e1c Peter Zijlstra 2021-03-26 299 /* fb3d61a5997e1c Peter Zijlstra 2021-03-26 300 * Since creating a cookie implies sched_core_get(), and we cannot set fb3d61a5997e1c Peter Zijlstra 2021-03-26 301 * a cookie until after we've created it, similarly, we cannot destroy fb3d61a5997e1c Peter Zijlstra 2021-03-26 302 * a cookie until after we've removed it, we must have core scheduling fb3d61a5997e1c Peter Zijlstra 2021-03-26 303 * enabled here. fb3d61a5997e1c Peter Zijlstra 2021-03-26 304 */ fb3d61a5997e1c Peter Zijlstra 2021-03-26 305 SCHED_WARN_ON((p->core_cookie || cookie) && !sched_core_enabled(rq)); fb3d61a5997e1c Peter Zijlstra 2021-03-26 306 fb3d61a5997e1c Peter Zijlstra 2021-03-26 307 enqueued = sched_core_enqueued(p); fb3d61a5997e1c Peter Zijlstra 2021-03-26 308 if (enqueued) fb3d61a5997e1c Peter Zijlstra 2021-03-26 309 sched_core_dequeue(rq, p); fb3d61a5997e1c Peter Zijlstra 2021-03-26 310 fb3d61a5997e1c Peter Zijlstra 2021-03-26 311 old_cookie = p->core_cookie; fb3d61a5997e1c Peter Zijlstra 2021-03-26 312 p->core_cookie = cookie; fb3d61a5997e1c Peter Zijlstra 2021-03-26 313 fb3d61a5997e1c Peter Zijlstra 2021-03-26 314 if (enqueued) fb3d61a5997e1c Peter Zijlstra 2021-03-26 315 sched_core_enqueue(rq, p); fb3d61a5997e1c Peter Zijlstra 2021-03-26 316 fb3d61a5997e1c Peter Zijlstra 2021-03-26 317 /* fb3d61a5997e1c Peter Zijlstra 2021-03-26 318 * If task is currently running , it may not be compatible anymore after fb3d61a5997e1c Peter Zijlstra 2021-03-26 319 * the cookie change, so enter the scheduler on its CPU to schedule it fb3d61a5997e1c Peter Zijlstra 2021-03-26 320 * away. fb3d61a5997e1c Peter Zijlstra 2021-03-26 321 */ fb3d61a5997e1c Peter Zijlstra 2021-03-26 322 if (task_running(rq, p)) fb3d61a5997e1c Peter Zijlstra 2021-03-26 323 resched_curr(rq); fb3d61a5997e1c Peter Zijlstra 2021-03-26 324 fb3d61a5997e1c Peter Zijlstra 2021-03-26 @325 task_rq_unlock(rq, p, &rf); fb3d61a5997e1c Peter Zijlstra 2021-03-26 326 fb3d61a5997e1c Peter Zijlstra 2021-03-26 327 return old_cookie; fb3d61a5997e1c Peter Zijlstra 2021-03-26 328 } fb3d61a5997e1c Peter Zijlstra 2021-03-26 329 :::::: The code at line 325 was first introduced by commit :::::: fb3d61a5997e1c813d47eae9bfebfc384863ab20 sched: Trivial core scheduling cookie management :::::: TO: Peter Zijlstra <[email protected]> :::::: CC: Peter Zijlstra <[email protected]> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected]
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
