Messages in this thread | | | Date | Mon, 26 Apr 2010 17:30:31 -0400 | From | Rik van Riel <> | Subject | Re: [PATCH 7/7] ondemand: Solve the big performance issue with ondemand during disk IO |
| |
On 04/18/2010 03:03 PM, Arjan van de Ven wrote: > From 27966bedabea83c4f3ae77507eceb746b1f6ebae Mon Sep 17 00:00:00 2001 > From: Arjan van de Ven<arjan@linux.intel.com> > Date: Sun, 18 Apr 2010 11:15:56 -0700 > Subject: [PATCH 7/7] ondemand: Solve the big performance issue with ondemand during disk IO > > The ondemand cpufreq governor uses CPU busy time (e.g. not-idle time) as > a measure for scaling the CPU frequency up or down. > If the CPU is busy, the CPU frequency scales up, if it's idle, the CPU > frequency scales down. Effectively, it uses the CPU busy time as proxy > variable for the more nebulous "how critical is performance right now" > question. > > This algorithm falls flat on its face in the light of workloads where > you're alternatingly disk and CPU bound, such as the ever popular > "git grep", but also things like startup of programs and maildir using > email clients... much to the chagarin of Andrew Morton. > > This patch changes the ondemand algorithm to count iowait time as busy, > not idle, time. As shown in the breakdown cases above, iowait is performance > critical often, and by counting iowait, the proxy variable becomes a more > accurate representation of the "how critical is performance" question. > > The problem and fix are both verified with the "perf timechar" tool. > > Signed-off-by: Arjan van de Ven<arjan@linux.intel.com>
Reviewed-by: Rik van Riel <riel@redhat.com>
-- All rights reversed
| |