[android-common:android12-5.10 2/2] kernel/sched/idle.c:179: warning: Function parameter or member 'stop_tick' not described in 'cpuidle_idle_call'

kernel test robot <[email protected]>
Newsgroups dev.linux.lists.oe-kbuild-all
Message-ID <[email protected]>
Hi Rafael,

FYI, the error/warning still remains.

tree:   https://android.googlesource.com/kernel/common android12-5.10
head:   e165496edc1142154adde5a5f0335042db432c41
commit: 39c0d422f501d8000e9e1257b0783a43bd2249a7 [2/2] sched: idle: Consolidate the handling of two special cases
config: i386-allmodconfig (https://download.01.org/0day-ci/archive/20260822/[email protected]/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260822/[email protected]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All warnings (new ones prefixed by >>):

>> kernel/sched/idle.c:179: warning: Function parameter or member 'stop_tick' not described in 'cpuidle_idle_call'


vim +179 kernel/sched/idle.c

39c0d422f501d80 Rafael J. Wysocki 2026-03-13  168  
30cdd69e2a26650 Daniel Lezcano    2014-03-03  169  /**
30cdd69e2a26650 Daniel Lezcano    2014-03-03  170   * cpuidle_idle_call - the main idle function
30cdd69e2a26650 Daniel Lezcano    2014-03-03  171   *
30cdd69e2a26650 Daniel Lezcano    2014-03-03  172   * NOTE: no locks or semaphores should be used here
82c65d60d64401a Andy Lutomirski   2014-06-04  173   *
82c65d60d64401a Andy Lutomirski   2014-06-04  174   * On archs that support TIF_POLLING_NRFLAG, is called with polling
82c65d60d64401a Andy Lutomirski   2014-06-04  175   * set, and it returns with polling set.  If it ever stops polling, it
82c65d60d64401a Andy Lutomirski   2014-06-04  176   * must clear the polling bit.
30cdd69e2a26650 Daniel Lezcano    2014-03-03  177   */
39c0d422f501d80 Rafael J. Wysocki 2026-03-13  178  static void cpuidle_idle_call(bool stop_tick)
30cdd69e2a26650 Daniel Lezcano    2014-03-03 @179  {
9bd616e3dbedfc1 Catalin Marinas   2016-06-01  180  	struct cpuidle_device *dev = cpuidle_get_device();
30cdd69e2a26650 Daniel Lezcano    2014-03-03  181  	struct cpuidle_driver *drv = cpuidle_get_cpu_driver(dev);
37352273ad48f2d Peter Zijlstra    2014-04-11  182  	int next_state, entered_state;
30cdd69e2a26650 Daniel Lezcano    2014-03-03  183  
a1d028bd6d2b778 Daniel Lezcano    2014-03-03  184  	/*
a1d028bd6d2b778 Daniel Lezcano    2014-03-03  185  	 * Check if the idle task must be rescheduled. If it is the
c444117f0f39d59 Peter Zijlstra    2014-04-11  186  	 * case, exit the function after re-enabling the local irq.
a1d028bd6d2b778 Daniel Lezcano    2014-03-03  187  	 */
c444117f0f39d59 Peter Zijlstra    2014-04-11  188  	if (need_resched()) {
8ca3c6424f4988f Daniel Lezcano    2014-03-03  189  		local_irq_enable();
08c373e5123b459 Rafael J. Wysocki 2014-04-21  190  		return;
8ca3c6424f4988f Daniel Lezcano    2014-03-03  191  	}
8ca3c6424f4988f Daniel Lezcano    2014-03-03  192  
a1d028bd6d2b778 Daniel Lezcano    2014-03-03  193  	/*
ed98c34919985a9 Rafael J. Wysocki 2018-03-15  194  	 * The RCU framework needs to be told that we are entering an idle
ed98c34919985a9 Rafael J. Wysocki 2018-03-15  195  	 * section, so no more rcu read side critical sections and one more
a1d028bd6d2b778 Daniel Lezcano    2014-03-03  196  	 * step to the grace period
a1d028bd6d2b778 Daniel Lezcano    2014-03-03  197  	 */
c8cc7d4de7a4f2f Daniel Lezcano    2014-03-03  198  
82f663277d0db85 Rafael J. Wysocki 2015-05-04  199  	if (cpuidle_not_available(drv, dev)) {
39c0d422f501d80 Rafael J. Wysocki 2026-03-13  200  		idle_call_stop_or_retain_tick(stop_tick);
ed98c34919985a9 Rafael J. Wysocki 2018-03-15  201  
82f663277d0db85 Rafael J. Wysocki 2015-05-04  202  		default_idle_call();
82f663277d0db85 Rafael J. Wysocki 2015-05-04  203  		goto exit_idle;
82f663277d0db85 Rafael J. Wysocki 2015-05-04  204  	}
ef2b22ac540c018 Rafael J. Wysocki 2015-03-02  205  
3810631332465d9 Rafael J. Wysocki 2015-02-12  206  	/*
f02f4f9d826590f Rafael J. Wysocki 2017-08-10  207  	 * Suspend-to-idle ("s2idle") is a system state in which all user space
3810631332465d9 Rafael J. Wysocki 2015-02-12  208  	 * has been frozen, all I/O devices have been suspended and the only
3e0de271fff77ab Hewenliang        2020-01-09  209  	 * activity happens here and in interrupts (if any). In that case bypass
3810631332465d9 Rafael J. Wysocki 2015-02-12  210  	 * the cpuidle governor and go stratight for the deepest idle state
3810631332465d9 Rafael J. Wysocki 2015-02-12  211  	 * available.  Possibly also suspend the local tick and the entire
3810631332465d9 Rafael J. Wysocki 2015-02-12  212  	 * timekeeping to prevent timer interrupts from kicking us out of idle
3810631332465d9 Rafael J. Wysocki 2015-02-12  213  	 * until a proper wakeup interrupt happens.
3810631332465d9 Rafael J. Wysocki 2015-02-12  214  	 */
bb8313b603eb8fd Jacob Pan         2016-11-28  215  
c55b51a06b01d67 Daniel Lezcano    2019-11-16  216  	if (idle_should_enter_s2idle() || dev->forced_idle_latency_limit_ns) {
5aa9ba6312e36c1 Daniel Lezcano    2019-11-16  217  		u64 max_latency_ns;
5aa9ba6312e36c1 Daniel Lezcano    2019-11-16  218  
f02f4f9d826590f Rafael J. Wysocki 2017-08-10  219  		if (idle_should_enter_s2idle()) {
ed98c34919985a9 Rafael J. Wysocki 2018-03-15  220  
10e8b11eb3195e1 Rafael J. Wysocki 2020-06-25  221  			entered_state = call_cpuidle_s2idle(drv, dev);
10e8b11eb3195e1 Rafael J. Wysocki 2020-06-25  222  			if (entered_state > 0)
3810631332465d9 Rafael J. Wysocki 2015-02-12  223  				goto exit_idle;
ed98c34919985a9 Rafael J. Wysocki 2018-03-15  224  
5aa9ba6312e36c1 Daniel Lezcano    2019-11-16  225  			max_latency_ns = U64_MAX;
5aa9ba6312e36c1 Daniel Lezcano    2019-11-16  226  		} else {
5aa9ba6312e36c1 Daniel Lezcano    2019-11-16  227  			max_latency_ns = dev->forced_idle_latency_limit_ns;
bb8313b603eb8fd Jacob Pan         2016-11-28  228  		}
3810631332465d9 Rafael J. Wysocki 2015-02-12  229  
ed98c34919985a9 Rafael J. Wysocki 2018-03-15  230  		tick_nohz_idle_stop_tick();
ed98c34919985a9 Rafael J. Wysocki 2018-03-15  231  
5aa9ba6312e36c1 Daniel Lezcano    2019-11-16  232  		next_state = cpuidle_find_deepest_state(drv, dev, max_latency_ns);
bcf6ad8a4a3d002 Rafael J. Wysocki 2015-05-04  233  		call_cpuidle(drv, dev, next_state);
3e84116d45a2f35 Rafael J. Wysocki 2026-03-07  234  	} else if (drv->state_count > 1) {
39c0d422f501d80 Rafael J. Wysocki 2026-03-13  235  		/*
39c0d422f501d80 Rafael J. Wysocki 2026-03-13  236  		 * stop_tick is expected to be true by default by cpuidle
39c0d422f501d80 Rafael J. Wysocki 2026-03-13  237  		 * governors, which allows them to select idle states with
39c0d422f501d80 Rafael J. Wysocki 2026-03-13  238  		 * target residency above the tick period length.
39c0d422f501d80 Rafael J. Wysocki 2026-03-13  239  		 */
39c0d422f501d80 Rafael J. Wysocki 2026-03-13  240  		stop_tick = true;
45f1ff59e27ca59 Rafael J. Wysocki 2018-03-22  241  
a1d028bd6d2b778 Daniel Lezcano    2014-03-03  242  		/*
52c324f8a87b336 Rafael J. Wysocki 2014-05-01  243  		 * Ask the cpuidle framework to choose a convenient idle state.
a1d028bd6d2b778 Daniel Lezcano    2014-03-03  244  		 */
45f1ff59e27ca59 Rafael J. Wysocki 2018-03-22  245  		next_state = cpuidle_select(drv, dev, &stop_tick);
554c8aa8ecade21 Rafael J. Wysocki 2018-04-03  246  
39c0d422f501d80 Rafael J. Wysocki 2026-03-13  247  		idle_call_stop_or_retain_tick(stop_tick);
554c8aa8ecade21 Rafael J. Wysocki 2018-04-03  248  
bcf6ad8a4a3d002 Rafael J. Wysocki 2015-05-04  249  		entered_state = call_cpuidle(drv, dev, next_state);
a1d028bd6d2b778 Daniel Lezcano    2014-03-03  250  		/*
37352273ad48f2d Peter Zijlstra    2014-04-11  251  		 * Give the governor an opportunity to reflect on the outcome
a1d028bd6d2b778 Daniel Lezcano    2014-03-03  252  		 */
30cdd69e2a26650 Daniel Lezcano    2014-03-03  253  		cpuidle_reflect(dev, entered_state);
3e84116d45a2f35 Rafael J. Wysocki 2026-03-07  254  	} else {
39c0d422f501d80 Rafael J. Wysocki 2026-03-13  255  		idle_call_stop_or_retain_tick(stop_tick);
3e84116d45a2f35 Rafael J. Wysocki 2026-03-07  256  
3e84116d45a2f35 Rafael J. Wysocki 2026-03-07  257  		/*
3e84116d45a2f35 Rafael J. Wysocki 2026-03-07  258  		 * If there is only a single idle state (or none), there is
3e84116d45a2f35 Rafael J. Wysocki 2026-03-07  259  		 * nothing meaningful for the governor to choose.  Skip the
3e84116d45a2f35 Rafael J. Wysocki 2026-03-07  260  		 * governor and always use state 0.
3e84116d45a2f35 Rafael J. Wysocki 2026-03-07  261  		 */
3e84116d45a2f35 Rafael J. Wysocki 2026-03-07  262  		call_cpuidle(drv, dev, 0);
bcf6ad8a4a3d002 Rafael J. Wysocki 2015-05-04  263  	}
8ca3c6424f4988f Daniel Lezcano    2014-03-03  264  
37352273ad48f2d Peter Zijlstra    2014-04-11  265  exit_idle:
8ca3c6424f4988f Daniel Lezcano    2014-03-03  266  	__current_set_polling();
8ca3c6424f4988f Daniel Lezcano    2014-03-03  267  
a1d028bd6d2b778 Daniel Lezcano    2014-03-03  268  	/*
37352273ad48f2d Peter Zijlstra    2014-04-11  269  	 * It is up to the idle functions to reenable local interrupts
a1d028bd6d2b778 Daniel Lezcano    2014-03-03  270  	 */
c8cc7d4de7a4f2f Daniel Lezcano    2014-03-03  271  	if (WARN_ON_ONCE(irqs_disabled()))
c8cc7d4de7a4f2f Daniel Lezcano    2014-03-03  272  		local_irq_enable();
30cdd69e2a26650 Daniel Lezcano    2014-03-03  273  }
30cdd69e2a26650 Daniel Lezcano    2014-03-03  274  

:::::: The code at line 179 was first introduced by commit
:::::: 30cdd69e2a266505ca8229c944d361ff350a6959 cpuidle/idle: Move the cpuidle_idle_call function to idle.c

:::::: TO: Daniel Lezcano <[email protected]>
:::::: CC: Ingo Molnar <[email protected]>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.