Re: Update on Android PM enhancements - CONFIG_HAS_EARLYSUSPEND and friends

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

 



Johannes Berg <johannes@xxxxxxxxxxxxxxxx> writes:

> On Thu, 2011-03-24 at 10:04 +0100, Johannes Berg wrote:
>> On Wed, 2011-03-23 at 17:47 -0700, Arve HjÃnnevÃg wrote:
>> 
>> > There is no planned replacement for early suspend, and it will
>> > probably be dropped form the android kernel at some point. The wifi
>> > driver use it to enter a lower operating state when the screen is off.
>> > If you driver does have any other way to put the driver in this state
>> > you need to add an interface that lets user-space select that state
>> > directly.
>> 
>> The interface is called "ip link set wlan0 down".
>
> Or, in fact, just powersaving mode.

Exactly.

> But I don't think for a wifi driver there's any need for special
> driver specific states.

In maemo, to save power, we decreased the dynamic power save timeout
whenever display was turned off. This was all done from user space and
wifi driver in the kernel was completely unaware of the display state.
But I think this is still a hack and we should save as much as
possible power in all cases, despite the display state. Instead power
save parameters should automatically change based on the transfer
characteristics.

Few examples what I mean:

o if idle or very little traffic -> more aggressive power save
o if latency critical packets (dns requests, higher qos classes etc)
  -> decrease latency
o if active data transfer -> increase throughput

And before someone suggests adding dynamic timeout variable to
nl80211: I think it's very much implementation specific parameter. Not
all drivers support it and it might be that even in future mac80211
uses something else. So having the timeout variable in nl80211 is not
a long term solution.

-- 
Kalle Valo
_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel



[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux