[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20091216163811.GA18921@isilmar.linta.de>
Date: Wed, 16 Dec 2009 17:38:11 +0100
From: Dominik Brodowski <linux@...inikbrodowski.net>
To: "Chumbalkar, Nagananda" <Nagananda.Chumbalkar@...com>
Cc: "davej@...hat.com" <davej@...hat.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"cpufreq@...r.kernel.org" <cpufreq@...r.kernel.org>,
"linux-acpi@...r.kernel.org" <linux-acpi@...r.kernel.org>,
"mjg@...hat.com" <mjg@...hat.com>, "trenn@...e.de" <trenn@...e.de>,
"lenb@...nel.org" <lenb@...nel.org>
Subject: Re: [PATCH] cpufreq: Processor Clocking Control interface driver
Hey,
On Wed, Dec 16, 2009 at 03:31:48PM +0000, Chumbalkar, Nagananda wrote:
> >> >> + if (target_freq <=
> >> >(ioread32(&pcch_hdr->minimum_frequency) * 1000)) {
> >> >> + target_freq =
> >> >ioread32(&pcch_hdr->minimum_frequency) * 1000;
> >> >> + dprintk("target: target_freq for cpu %d was
> >> >below limit, "
> >> >> + "converted it to %d\n", cpu, target_freq);
> >> >> + }
> >> >
> >> >why not do this in the _verify() step? Does
> >pcch_hdr->minimum_frequency
> >> >even change "on the fly"?
> >>
> >> pcch_hdr->minimum_frequency does not change "on the fly".
> >Also, there is no
> >> need for those IO accesses:
> >
> >target_freq cannot be below policy->min or above policy->max.
> >If it were,
> >the whole cpufreq subsystem is broken. So there's no need for
> >these checks,
> >AFAICS.
> >
>
> I think the "ondemand" governor can ask for a target frequency that is
> below policy->min.
>
> Let's say that at a given snapshot, the frequency of a CPU is policy->cur.
> At the next sampling, if the "load" on the CPU drops to a level that
> satisifies the equation below, then freq_next requested by "ondemand"
> will be below policy->min:
>
> load < (threshold - differential) * policy->min / policy->cur
>
> A patch such as below may be needed to sanitize the target frequency
> requested by "ondemand". The "conservative" governor already has this check:
If freq_next < policy->min is indeed possible in ondemand, that's a real bug
in ondemand.
Best,
Dominik
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists