linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH v2 0/2] mac80211: ps-poll implementation
@ 2009-01-22 11:45 Kalle Valo
  2009-01-22 11:45 ` [RFC PATCH v2 1/2] mac80211: remove multicast check from check_tim() Kalle Valo
                   ` (2 more replies)
  0 siblings, 3 replies; 22+ messages in thread
From: Kalle Valo @ 2009-01-22 11:45 UTC (permalink / raw)
  To: johannes, vivek.natraj; +Cc: linux-wireless

Here's my suggestion for how to implement ps-poll in mac80211. Also
this fixes the case when dynamic_ps_timeout is zero.

I decided to use ps-polling when dynamic_ps_timeout is zero. If
userspace sets timeout to zero, it means that it's ready to sacrifice
throughput over power consumption. But in case there throughput is
more, userspace can set timeout to a non-zero value and null frame
wakeup is used instead, throughput is higher but power consumption
also increases.

Most probably this patchset breaks ath9k multicast handling. I
recommend ath9k to try do multicast tim bit handling in hardware, I
would really assume that to be possible. But if that's really
impossible, then it can be done in the driver. But having support for
waking up multicast tim bits in mac80211 is unreliable and complicated
the implementation, I just recommend dropping it.

Open question is that should power save be disabled whenever mac80211
is ps-polling the frames. For example, p54/stlc45xx does not require to
disable power save in that case, it just stays awake long enough to
receive the data frame from the AP. So I did not disable power save
mode in this case, but I would like to hear comments what other
hardware needs.

v2:

o RX_CONTINUE after sending ps-poll frame in ieee80211_rx_h_check_more_data()
o remove leftover debug printk
o use ps-poll only when dynamic_ps_timeout is zero, otherwise null frame
  wakeup is used

---

Kalle Valo (2):
      mac80211: use ps-poll when dynamic power save mode is disabled
      mac80211: remove multicast check from check_tim()


 net/mac80211/ieee80211_i.h |    3 ++
 net/mac80211/mlme.c        |   69 +++++++++++++++++++++++++++++++++++++-------
 net/mac80211/rx.c          |   34 ++++++++++++++++++++++
 3 files changed, 95 insertions(+), 11 deletions(-)

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

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

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-22 11:45 [RFC PATCH v2 0/2] mac80211: ps-poll implementation Kalle Valo
2009-01-22 11:45 ` [RFC PATCH v2 1/2] mac80211: remove multicast check from check_tim() Kalle Valo
2009-01-28 14:59   ` Vivek Natarajan
2009-01-28 16:06     ` Kalle Valo
2009-01-22 11:45 ` [RFC PATCH v2 2/2] mac80211: use ps-poll when dynamic power save mode is disabled Kalle Valo
2009-01-22 17:02   ` Johannes Berg
2009-01-28 16:49     ` Kalle Valo
2009-01-28 18:52       ` Johannes Berg
2009-01-29 18:15         ` Kalle Valo
2009-01-29 18:32           ` Johannes Berg
2009-01-29 20:19             ` Kalle Valo
2009-01-23 23:28   ` Tomas Winkler
2009-01-28  8:39     ` Kalle Valo
2009-01-28 11:46       ` Tomas Winkler
2009-01-28 12:33         ` Kalle Valo
2009-01-28 13:00         ` Johannes Berg
2009-01-28 13:26           ` Tomas Winkler
2009-01-28 13:36             ` Johannes Berg
2009-01-22 13:00 ` [RFC PATCH v2 0/2] mac80211: ps-poll implementation Johannes Berg
2009-01-23  9:31   ` Kalle Valo
2009-01-23 22:11     ` Johannes Berg
2009-01-28 16:40       ` Kalle Valo

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).