All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kalle Valo <kalle.valo@nokia.com>
To: "Vivek Natarajan" <vivek.natraj@gmail.com>
Cc: "johannes\@sipsolutions.net" <johannes@sipsolutions.net>,
	"linux-wireless\@vger.kernel.org"
	<linux-wireless@vger.kernel.org>
Subject: Re: [RFC PATCH v2 1/2] mac80211: remove multicast check from check_tim()
Date: Wed, 28 Jan 2009 18:06:22 +0200	[thread overview]
Message-ID: <87pri7h0u9.fsf@nokia.com> (raw)
In-Reply-To: <8e92b4100901280659t444486b2v27efffe7224d17b@mail.gmail.com> (ext Vivek Natarajan's message of "Wed\, 28 Jan 2009 15\:59\:20 +0100")

Vivek Natarajan <vivek.natraj@gmail.com> writes:

> On Thu, Jan 22, 2009 at 5:15 PM, Kalle Valo <kalle.valo@nokia.com>
> wrote:
>> Currently mac80211 checks for the multicast tim bit from beacons,
>> disables power save and sends a null frame if the bit is set. This
>> was added to support ath9k. But this is a bit controversial because
>> the AP will send multicast frames immediately after the beacon and
>> the time constraints are really high. Relying mac80211 to be fast
>> enough here might not be reliable in all situations.
>
> I agree that mac80211 is not fast enough to disable power save when
> multicast bit is set. But a quick testing with multicast traffic with
> power save enabled shows me that the traffic is passing without much
> failures(97% passes through and this is not a small number considering
> my high traffic/noisy channel conditions). 

I'm still not convinced. Even if it works for your setup, somebody
else might have problems.

> So, the reason is not strong enough or the mac80211 is not too slow
> to respond to a mc traffic in practical conditions and hence the
> check need not be removed.

Well, we have to do something because stlc45xx/p54spi doesn't need
this. Either we need to do add a yet another hw flag or move the
functionality to ath9k. And I don't see the benefit of adding a new hw
flag just for one driver. If there are more hardware designs requiring
this, then adding support to mac80211 might make sense.

There's also a third option: do this in hardware. Are you really sure
that your hardware doesn't support waking up for broadcast/multicast
frames? It would only need to check two bits, multicast tim bit from
beacons and moredata bits from received broadcast/multicast frames.

>> And there's no need to send a null frame, AP will send the frames
>> immediately after the dtim beacon no matter what.
>
> You are right. In that case, if mc bit is set, we can change the code
> to just disable ps and not to send a null frame.

Like I said earlier, I don't like this approach. 

> But this pops up another issue! How to enable ps after waking up for
> mc traffic?

Just go back to sleep after receiving a broadcast/multicast frame with
moredata bit not set.

> For this we have got to have the dynamic_ps_timer called from the rx
> path also. This enables ps after the specified timeout. I don't see
> any good reason for not to have this timer in Rx path also.

Please take into account that dynamic_ps_timeout can be zero, you
cannot rely on dynamic_ps_timer.

Having dynamic timeout in rx path also is possible, but that's a
separate issue from multicast/broadcast problem. I haven't considered
it myself, though.

-- 
Kalle Valo

  reply	other threads:[~2009-01-28 16:07 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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
  -- strict thread matches above, loose matches on Subject: below --
2009-01-11 18:54 Kalle Valo
2009-01-11 18:54 ` [RFC PATCH v2 1/2] mac80211: remove multicast check from check_tim() Kalle Valo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87pri7h0u9.fsf@nokia.com \
    --to=kalle.valo@nokia.com \
    --cc=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.org \
    --cc=vivek.natraj@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.