linux/drivers/cpuidle/governors
Christian Loehle 38f83090f5 cpuidle: menu: Remove iowait influence
Remove CPU iowaiters influence on idle state selection.

Remove the menu notion of performance multiplier which increased with
the number of tasks that went to iowait sleep on this CPU and haven't
woken up yet.

Relying on iowait for cpuidle is problematic for a few reasons:

 1. There is no guarantee that an iowaiting task will wake up on the
    same CPU.

 2. The task being in iowait says nothing about the idle duration, we
    could be selecting shallower states for a long time.

 3. The task being in iowait doesn't always imply a performance hit
    with increased latency.

 4. If there is such a performance hit, the number of iowaiting tasks
    doesn't directly correlate.

 5. The definition of iowait altogether is vague at best, it is
    sprinkled across kernel code.

Signed-off-by: Christian Loehle <christian.loehle@arm.com>
Link: https://patch.msgid.link/20240905092645.2885200-2-christian.loehle@arm.com
[ rjw: Minor edits in the changelog ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2024-09-30 17:00:55 +02:00
..
gov.h cpuidle: menu: Skip tick_nohz_get_sleep_length() call in some cases 2023-08-17 11:28:38 +02:00
haltpoll.c cpuidle: haltpoll: do not shrink guest poll_limit_ns below grow_start 2024-02-12 17:02:51 +01:00
ladder.c cpuidle: ladder: fix ladder_do_selection() kernel-doc 2024-05-07 13:54:58 +02:00
Makefile cpuidle: add haltpoll governor 2019-07-30 17:27:37 +02:00
menu.c cpuidle: menu: Remove iowait influence 2024-09-30 17:00:55 +02:00
teo.c cpuidle: teo: Don't count non-existent intercepts 2024-07-01 18:58:55 +02:00