BCC: [email protected]
CC: [email protected]
CC: Linux Memory Management List <[email protected]>
TO: Uros Bizjak <[email protected]>
CC: Andrew Morton <[email protected]>
CC: Linux Memory Management List <[email protected]>

Hi Uros,

FYI, the error/warning was bisected to this commit, please ignore it if it's 
irrelevant.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git 
master
head:   b5d939c951865f6fc229094e84b77c9a9e0ed0c7
commit: 2d1e07c7534c14e56ac3818fa24e7c1643a9b1dc [3092/3266] smpboot: use 
atomic_try_cmpxchg in cpu_wait_death and cpu_report_death
:::::: branch date: 6 hours ago
:::::: commit date: 14 hours ago
config: i386-randconfig-m021 
(https://download.01.org/0day-ci/archive/20220825/[email protected]/config)
compiler: gcc-11 (Debian 11.3.0-5) 11.3.0

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>
Reported-by: Dan Carpenter <[email protected]>

smatch warnings:
kernel/smpboot.c:449 cpu_wait_death() error: uninitialized symbol 'oldstate'.

vim +/oldstate +449 kernel/smpboot.c

8038dad7e88858 Paul E. McKenney 2015-02-25  421  
8038dad7e88858 Paul E. McKenney 2015-02-25  422  /*
8038dad7e88858 Paul E. McKenney 2015-02-25  423   * Wait for the specified CPU 
to exit the idle loop and die.
8038dad7e88858 Paul E. McKenney 2015-02-25  424   */
8038dad7e88858 Paul E. McKenney 2015-02-25  425  bool cpu_wait_death(unsigned 
int cpu, int seconds)
8038dad7e88858 Paul E. McKenney 2015-02-25  426  {
8038dad7e88858 Paul E. McKenney 2015-02-25  427         int jf_left = seconds * 
HZ;
8038dad7e88858 Paul E. McKenney 2015-02-25  428         int oldstate;
8038dad7e88858 Paul E. McKenney 2015-02-25  429         bool ret = true;
8038dad7e88858 Paul E. McKenney 2015-02-25  430         int sleep_jf = 1;
8038dad7e88858 Paul E. McKenney 2015-02-25  431  
8038dad7e88858 Paul E. McKenney 2015-02-25  432         might_sleep();
8038dad7e88858 Paul E. McKenney 2015-02-25  433  
8038dad7e88858 Paul E. McKenney 2015-02-25  434         /* The outgoing CPU 
will normally get done quite quickly. */
8038dad7e88858 Paul E. McKenney 2015-02-25  435         if 
(atomic_read(&per_cpu(cpu_hotplug_state, cpu)) == CPU_DEAD)
8038dad7e88858 Paul E. McKenney 2015-02-25  436                 goto 
update_state;
8038dad7e88858 Paul E. McKenney 2015-02-25  437         udelay(5);
8038dad7e88858 Paul E. McKenney 2015-02-25  438  
8038dad7e88858 Paul E. McKenney 2015-02-25  439         /* But if the outgoing 
CPU dawdles, wait increasingly long times. */
8038dad7e88858 Paul E. McKenney 2015-02-25  440         while 
(atomic_read(&per_cpu(cpu_hotplug_state, cpu)) != CPU_DEAD) {
8038dad7e88858 Paul E. McKenney 2015-02-25  441                 
schedule_timeout_uninterruptible(sleep_jf);
8038dad7e88858 Paul E. McKenney 2015-02-25  442                 jf_left -= 
sleep_jf;
8038dad7e88858 Paul E. McKenney 2015-02-25  443                 if (jf_left <= 
0)
8038dad7e88858 Paul E. McKenney 2015-02-25  444                         break;
8038dad7e88858 Paul E. McKenney 2015-02-25  445                 sleep_jf = 
DIV_ROUND_UP(sleep_jf * 11, 10);
8038dad7e88858 Paul E. McKenney 2015-02-25  446         }
8038dad7e88858 Paul E. McKenney 2015-02-25  447         oldstate = 
atomic_read(&per_cpu(cpu_hotplug_state, cpu));
2d1e07c7534c14 Uros Bizjak      2022-08-23  448  update_state:
8038dad7e88858 Paul E. McKenney 2015-02-25 @449         if (oldstate == 
CPU_DEAD) {
8038dad7e88858 Paul E. McKenney 2015-02-25  450                 /* Outgoing CPU 
died normally, update state. */
8038dad7e88858 Paul E. McKenney 2015-02-25  451                 smp_mb(); /* 
atomic_read() before update. */
8038dad7e88858 Paul E. McKenney 2015-02-25  452                 
atomic_set(&per_cpu(cpu_hotplug_state, cpu), CPU_POST_DEAD);
8038dad7e88858 Paul E. McKenney 2015-02-25  453         } else {
8038dad7e88858 Paul E. McKenney 2015-02-25  454                 /* Outgoing CPU 
still hasn't died, set state accordingly. */
2d1e07c7534c14 Uros Bizjak      2022-08-23  455                 if 
(!atomic_try_cmpxchg(&per_cpu(cpu_hotplug_state, cpu),
2d1e07c7534c14 Uros Bizjak      2022-08-23  456                                 
        &oldstate, CPU_BROKEN))
8038dad7e88858 Paul E. McKenney 2015-02-25  457                         goto 
update_state;
8038dad7e88858 Paul E. McKenney 2015-02-25  458                 ret = false;
8038dad7e88858 Paul E. McKenney 2015-02-25  459         }
8038dad7e88858 Paul E. McKenney 2015-02-25  460         return ret;
8038dad7e88858 Paul E. McKenney 2015-02-25  461  }
8038dad7e88858 Paul E. McKenney 2015-02-25  462  

:::::: The code at line 449 was first introduced by commit
:::::: 8038dad7e888581266c76df15d70ca457a3c5910 smpboot: Add common code for 
notification from dying CPU

:::::: TO: Paul E. McKenney <[email protected]>
:::::: CC: Paul E. McKenney <[email protected]>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to