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
next prev parent 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 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).