]> git.baikalelectronics.ru Git - kernel.git/commit
cpuidle,menu: use interactivity_req to disable polling
authorRik van Riel <riel@redhat.com>
Tue, 3 Nov 2015 22:34:18 +0000 (17:34 -0500)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 17 Nov 2015 01:24:25 +0000 (02:24 +0100)
commit0d136f094849dddc0388d0f1dfd104cdabd4d2ae
treef88f49c389bb931e6b64ccfe49ccf3825fadbd7e
parentd18832249228c30de0a65397d1efdca94e540649
cpuidle,menu: use interactivity_req to disable polling

The menu governor carefully figures out how much time we typically
sleep for an estimated sleep interval, or whether there is a repeating
pattern going on, and corrects that estimate for the CPU load.

Then it proceeds to ignore that information when determining whether
or not to consider polling. This is not a big deal on most x86 CPUs,
which have very low C1 latencies, and the patch should not have any
effect on those CPUs.

However, certain CPUs (eg. Atom) have much higher C1 latencies, and
it would be good to not waste performance and power on those CPUs if
we are expecting a very low wakeup latency.

Disable polling based on the estimated interactivity requirement, not
on the time to the next timer interrupt.

Signed-off-by: Rik van Riel <riel@redhat.com>
Acked-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpuidle/governors/menu.c