On Fri, 23 Apr 2010 07:38:58 +0200 Willy Tarreau <w@xxxxxx> wrote: > On Fri, Apr 23, 2010 at 07:24:39AM +0200, Pavel Machek wrote: > > Hi! > > > > > 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. > > > > Well, and now, if you do something like cat /dev/<your usb1.1 hdd> > > > /dev/null, you'll keep cpu on max frequency. Not a problem for new > > core i7, but probably big deal for athlon 64. > > So that also means that my notebook's CPU fan will spin like mad as > soon as I access a USB key ? unlikely. your notebook CPU will stop its clocks, if not drop its voltage, during idle. So during that time the frequency is 0; the only difference is in how much leakage you get from a higher voltage for those CPUs that do not powergate or drop their cpu in idle. Most CPUs that I know of do either or both of that. -- Arjan van de Ven Intel Open Source Technology Centre For development, discussion and tips for power savings, visit http://www.lesswatts.org -- To unsubscribe from this list: send the line "unsubscribe cpufreq" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html