Skip to content
Commit 5ddcc03a authored by Aboorva Devarajan's avatar Aboorva Devarajan Committed by Michael Ellerman
Browse files

powerpc/cpuidle: Set CPUIDLE_FLAG_POLLING for snooze state



During the comparative study of cpuidle governors, it is noticed that the
menu governor does not select CEDE state in some scenarios even though when
the sleep duration of the CPU exceeds the target residency of the CEDE idle
state this is because the CPU exits the snooze "polling" state when snooze
time limit is reached in the snooze_loop(), which is not a real wake up
and it just means that the polling state selection was not adequate.

cpuidle governors rely on CPUIDLE_FLAG_POLLING flag to be set for the
polling states to handle the condition mentioned above.

Hence, set the CPUIDLE_FLAG_POLLING flag for snooze state (polling state)
in powerpc arch to make the cpuidle governor work as expected.

Reference Commits:

- Timeout enabled for snooze state:
  commit 78eaa10f
  ("cpuidle: powernv/pseries: Auto-promotion of snooze to deeper idle state")

- commit dc2251bf
  ("cpuidle: Eliminate the CPUIDLE_DRIVER_STATE_START symbol")

- Fix wakeup stats in governor for polling states
  commit 5f26bdce
  ("cpuidle: menu: Fix wakeup statistics updates for polling state")

Signed-off-by: default avatarAboorva Devarajan <aboorvad@linux.vnet.ibm.com>
Tested-by: default avatarVishal Chourasia <vishalc@linux.vnet.ibm.com>
Reviewed-by: default avatarVaidyanathan Srinivasan <svaidy@linux.ibm.com>
Reviewed-by: default avatarVishal Chourasia <vishalc@linux.vnet.ibm.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20221114145611.37669-1-aboorvad@linux.vnet.ibm.com
parent 3ae7c96d
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment