From: Johannes Berg <johannes@sipsolutions.net>
To: "Luis R. Rodriguez" <lrodriguez@atheros.com>
Cc: Luis Rodriguez <Luis.Rodriguez@Atheros.com>,
"linville@tuxdriver.com" <linville@tuxdriver.com>,
"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
Amod Bodas <Amod.Bodas@Atheros.com>,
Matt Smith <Matt.Smith@Atheros.com>,
Kevin Hayes <kevin@Atheros.com>,
David Quan <David.Quan@atheros.com>
Subject: Re: [RFC 0/3] mac80211: new API for handling broadcast / multicast on sw scan
Date: Tue, 31 Aug 2010 20:12:20 +0200 [thread overview]
Message-ID: <1283278340.3733.56.camel@jlt3.sipsolutions.net> (raw)
In-Reply-To: <20100831165931.GC15752@tux>
On Tue, 2010-08-31 at 09:59 -0700, Luis R. Rodriguez wrote:
> > > This is true, but why would they not be important for going off
> > > channel ? The TSF sync seems just as important as waiting for the ACK
> > > for the nullfunc from the AP.
> >
> > Why? It doesn't seem important to me?
>
> How else could you possibly do a reliable calculation for the computation of the
> next DTIM?
Dunno what your TSF sync does, but a single beacon frame has all the
relevant information for computing this.
> So we do the TSF synch to more reliably know when we will get a DTIM and also
> adjust our beacon miss interrupt. For offchannel operation know the DTIM
> more accurately will help in our computation when going off channel.
Yeah but when _going_ offchannel we don't need to know exactly when it
will happen in advance, we can just wait for the relevant thing to end
and then go offchannel ... what am I missing?
> > > And I'm saying its not. To wait for the DTIM you need to know the DTIM
> > > count, and you could also miss a few DTIM beacons.
> >
> > What do you mean by "need to know the DTIM count"? You just need to look
> > at every received beacon.
>
> The DTIM count on the TIM information element tells stations how many beacons
> must be transmitted before receiving the next DTIM. The DTIM count will be 0
> when we've reached a DTIM.
>
> http://wireless.kernel.org/en/developers/Documentation/ieee80211/power-savings
>
> If you do not know the DTIM count at which beacon will we get the DTIM?
Each beacon contains the count and period ... we're just going around in
circles. You just need a single beacon frame.
> It is a subjective matter, I agree, it depends how reliable you want
> to claim mac80211 is for broadcast and multicast traffic when drivers
> use sw scan. One key item that is more important though is if we are
> only trying to be on our home channel when doing offchannel operation
> for bg scanning then we must also send a PS-POLL to get our own buffered
> unicast frames after DTIM.
No, we don't need to send PS-poll as we send a wakeup. I think, anyway.
> > since it's not just as you did it now, but it really needs to be
> > asynchronous with event callbacks,
>
> In case of firmware timeouts? Or what?
No, just the polling you have now doesn't seem adequate.
> > and error handling is also more
> > complex in the mac80211/driver interaction case (what if the driver
> > never returns the event in the timeout? then mac80211 asks for the next
> > channel, but the driver _then_ returns the event? etc.)
>
> So I am not sure what you are referring to here. Are you referring to
> timeouts for calls we make on the driver for wait constraints or
> are you referring to possible endless wait constraints?
>
> If the first, then I do not follow.
>
> If the later, then I think it shouldn't happen often enough *if* we
> actually end up dealing with most constraints properly in mac80211.
>
> Or maybe I just completely misunderstood this last point.
No, I'm referring to the fact that when we don't poll, we'll be waiting
for the driver to tell us when we can go offchannel. But what if the
driver for some reason doesn't tell us within an acceptable timeout
period? Say it has endless constraints. Do we require drivers to
_always_ tell us? What then if the driver's buggy? etc.
> Worst case scenerio we will just have to review this in more detail next week
> in person on Thursday or Friday during the wireless summit.
Actually let's do that, since anything that isn't purely implemented in
mac80211 should probably take into account multi-channel virtual
interface operation as well, which we'll probably want to offload to the
driver for scheduling between interfaces.
johannes
next prev parent reply other threads:[~2010-08-31 18:12 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-28 7:13 [RFC 0/3] mac80211: new API for handling broadcast / multicast on sw scan Luis R. Rodriguez
2010-08-28 7:13 ` [RFC 1/3] ath9k: fix regression which disabled ps on ath9k on all cards Luis R. Rodriguez
2010-08-28 7:13 ` [RFC 2/3] mac80211: allow drivers to specify sw scan wait constraints Luis R. Rodriguez
2010-08-29 19:55 ` Luis R. Rodriguez
2010-08-30 7:29 ` Luis R. Rodriguez
2010-08-30 14:17 ` John W. Linville
2010-08-30 15:16 ` Luis R. Rodriguez
2010-08-28 7:13 ` [RFC 3/3] ath9k: implement the " Luis R. Rodriguez
2010-08-30 14:19 ` [RFC 0/3] mac80211: new API for handling broadcast / multicast on sw scan Johannes Berg
2010-08-30 15:37 ` Luis R. Rodriguez
2010-08-30 15:47 ` Johannes Berg
2010-08-30 18:00 ` Luis R. Rodriguez
2010-08-30 18:10 ` Johannes Berg
2010-08-30 19:20 ` Luis R. Rodriguez
2010-08-31 14:36 ` Johannes Berg
2010-08-31 15:30 ` Luis R. Rodriguez
2010-08-31 15:54 ` Johannes Berg
2010-08-31 16:59 ` Luis R. Rodriguez
2010-08-31 18:12 ` Johannes Berg [this message]
2010-09-01 2:14 ` Luis R. Rodriguez
2010-09-01 10:41 ` Johannes Berg
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=1283278340.3733.56.camel@jlt3.sipsolutions.net \
--to=johannes@sipsolutions.net \
--cc=Amod.Bodas@Atheros.com \
--cc=David.Quan@atheros.com \
--cc=Luis.Rodriguez@Atheros.com \
--cc=Matt.Smith@Atheros.com \
--cc=kevin@Atheros.com \
--cc=linux-wireless@vger.kernel.org \
--cc=linville@tuxdriver.com \
--cc=lrodriguez@atheros.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).