]> git.ipfire.org Git - thirdparty/linux.git/commit
cpuidle: menu: Remove iowait influence
authorChristian Loehle <christian.loehle@arm.com>
Thu, 5 Sep 2024 09:26:38 +0000 (10:26 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 30 Sep 2024 15:00:55 +0000 (17:00 +0200)
commit38f83090f515b4b5d59382dfada1e7457f19aa47
treeea815d1a3dcced3de70c497b8b9f7039df37d5c1
parent9852d85ec9d492ebef56dc5f229416c925758edc
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>
drivers/cpuidle/governors/menu.c