linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* wireless powersaving (in NM?)
@ 2009-03-24 10:39 Johannes Berg
  2009-03-24 10:32 ` Marcel Holtmann
                   ` (6 more replies)
  0 siblings, 7 replies; 29+ messages in thread
From: Johannes Berg @ 2009-03-24 10:39 UTC (permalink / raw)
  To: Dan Williams
  Cc: Guy, Wey-Yi W, linux-wireless, Kalle Valo, Matthew Garrett,
	Marcel Holtmann

[-- Attachment #1: Type: text/plain, Size: 3521 bytes --]

Hi,

We're looking into turning on powersaving by default at least when on
battery power, and I think that it needs to be done in userspace, simply
by calling the equivalent of "iwconfig wlan0 power on".

iwlwifi currently supports 5 or 6 power saving levels, and some people
think we should allow those to be exposed to "iwconfig wlan0 power
saving <N>", but as I've said before I don't see how the user can
possibly make an informed choice. Essentially it seems to me that the
best way for the user to determine the level would be to roll a dice and
see if applications still work as expected. It is also specific to a
single driver, and other drivers would expose similar values with
completely different semantics -- in one word: useless. Yes, Windows
exposes this, but that doesn't mean it's meaningful. Quite the contrary,
in fact, many (most? all?) of the things Windows exposes related to
power management are absolutely _not_ meaningful and hurt overall
usability [1].

Therefore, I think the "power saving level" needs to be determined by
pm_qos. The design of how to do that, however, is still up in the air.
One question, for example, is whether the driver should be adjusting the
power savings parameters, with mac80211 only asking for it to be enabled
or disabled. I'm thinking that the driver is in the best position to do
so since various drivers have various parameters that can be tweaked.
This would depend on pm_qos notifications being used in the driver, when
power saving is enabled by mac80211.

The alternative would be to expose all the possible parameters and/or
levels to mac80211 and have it make choices based on pm_qos, but it
seems that this interface would rapidly become extremely complex,
fragile and buggy.

Kalle, there's a related question here -- what's the value of exposing
the sleep timeout to users? It seems to be quite unnecessary, since you
seem to be using a fixed value of 500ms anyway. Can we remove that,
leaving wext only with turning on/off power saving? [2][3]

Ultimately, power saving mode should always be enabled unless the user
specifically requires it being turned off (why?), regardless of AC power
status; there's no reason not to do that if we integrate it into the
entire system well enough so that things "just work". But that requires
applications to change to register their network latency/throughput
requirements.

However, by putting the burden onto drivers, drivers can choose a
conservative power saving level when no application has registered its
pm_qos requirements, and once applications start using the it deeper
power levels can be chosen as appropriate. This still requires some
userspace to turn on power saving to start with, which I think would be
appropriately placed in NM (or connman, of course).

Comments?

johannes


[1] I was recently bitten by that when giving a presentation, and then
forgetting to go out of presentation mode -- this left my laptop without
a screensaver lock for far too long

[2] which is a reasonable setting, imho, since you may well want to
disable it under some circumstances, but I cannot see users making an
informed choice about any of the many parameters -- of course we also
need to start keeping track of this per virtual interface rather than
globally so that adding a WDS interface for instance turns off power
saving

[3] since only one out-of-tree driver is allowing it to be used, it
wouldn't even be a "regression" right now


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2009-04-01 14:29 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-24 10:39 wireless powersaving (in NM?) Johannes Berg
2009-03-24 10:32 ` Marcel Holtmann
2009-03-25 10:45   ` Johannes Berg
2009-03-24 13:47 ` John W. Linville
2009-03-24 13:53 ` Johannes Berg
2009-03-24 14:47   ` Guy, Wey-Yi W
2009-03-24 15:03     ` Kalle Valo
2009-03-24 14:17 ` Kalle Valo
2009-03-25 10:57   ` Johannes Berg
2009-03-25 19:53     ` Kalle Valo
2009-03-25 20:06       ` Johannes Berg
2009-03-25 20:09         ` Johannes Berg
2009-03-25 20:22         ` Kalle Valo
2009-03-24 15:59 ` Dan Williams
2009-03-25 11:04   ` Johannes Berg
2009-03-25 15:31     ` Dan Williams
2009-03-25 15:48       ` Johannes Berg
2009-03-26  8:00         ` Luis R. Rodriguez
2009-03-26  8:11           ` Johannes Berg
2009-03-26  8:39             ` Luis R. Rodriguez
2009-03-26  8:54               ` Johannes Berg
2009-03-26  9:01                 ` Luis R. Rodriguez
2009-03-26 14:29                   ` Georgy Berdyshev
2009-03-26  8:19           ` Kalle Valo
2009-03-26  8:40             ` Luis R. Rodriguez
2009-03-31 16:28 ` Johannes Berg
2009-04-01 11:04 ` more thoughts on power saving (was: wireless powersaving (in NM?)) Johannes Berg
2009-04-01 11:12   ` Kalle Valo
2009-04-01 14:29     ` Guy, Wey-Yi W

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).