Re: [PATCH]PM QOS refresh against next-20100430

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jonathan Corbet <corbet@xxxxxxx> writes:

> On Mon, 03 May 2010 09:40:11 -0700
> Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> 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

_______________________________________________
linux-pm mailing list
linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux