[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87tyqo537l.fsf@deeprootsystems.com>
Date: Mon, 03 May 2010 10:01:50 -0700
From: Kevin Hilman <khilman@...prootsystems.com>
To: Jonathan Corbet <corbet@....net>
Cc: mgross@...ux.intel.com, aili@...eaurora.org,
dwalker@...eaurora.org, tiwai@...e.de, bruce.w.allan@...el.com,
davidb@...cinc.com, mcgrof@...il.com, pavel@....cz,
linux-pm <linux-pm@...ts.linux-foundation.org>,
lkml <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH]PM QOS refresh against next-20100430
Jonathan Corbet <corbet@....net> writes:
> On Mon, 03 May 2010 09:40:11 -0700
> Kevin Hilman <khilman@...prootsystems.com> wrote:
>
>> > One question, though... one clear use of this API is for drivers to
>> > say "don't go into C3 or deeper because things go wrong"; I'm about to
>> > add another one of those. It works, but the use of a
>> > PM_QOS_CPU_DMA_LATENCY requirement with a hard-coded number that one
>> > hopes is small enough seems a bit...indirect. I wonder if it would be
>> > clearer and more robust to add a new requirement^Wrequest type saying
>> > "the quality of service I need is shallow sleeps only"?
>>
>> The problem with that is portability.
>>
>> What does "shallow" mean?
>
> Well, shallow could mean that the state lacks the CPUIDLE_FLAG_DEEP
> flag; that should be relatively portable. In any case, it seems
> more so than "if I put in a 55us latency requirement, I'll stay out
> of C3".
I guess it depends on your goal. Do you just want to stay out of C3
on your current platform? or do you want to stay out of any low-power
state (on any platform) where you'll have a latency of > 55 usecs?
The former is not portable (as C-states don't have the same meanings
across arches/SoCs) where as using a real-world number in usecs will
have meaning on any platform.
> Just a thought, anyway; it's not like I've really worked through a
> plausible alternative API.
My main concern is that drivers not be written with latency
constraints that assume an Intel-centric set of power states. There
are other SoCs out there with different sets of states and
corresponding latencies, so keeping things in real-world numbers
(latency, throughput, etc.) seems to me to be the only portable way.
Kevin
--
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