Search Linux Wireless

Re: [RFCv2 2/3] mac80211: mesh power save doze scheduling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2013-02-11 at 13:03 +0100, Marco Porsch wrote:
> On 02/08/2013 10:57 PM, Johannes Berg wrote:
> > On Fri, 2013-02-08 at 11:09 +0100, Marco Porsch wrote:
> >
> >>>> For mesh Awake Windows wakeup on SWBA (beacon_get_tim) and start
> >>>> a timer which triggers a doze call on expiry.
> >>>
> >>> That seems questionable -- drivers are not required to request each
> >>> beacon. I know you only want to make it work on ath9k, but I don't think
> >>> "stretching" the API, without even documenting it, is a good idea.
> >>
> >> Currently, we already use ieee80211_beacon_get_tim as time reference for
> >> mesh sync's adjust_tbtt. And, as far as I know, all mesh-capable drivers
> >> use the call for each and every beacon.
> >
> > Oops, why did I miss that before? :-)
> >
> >> So what would you recommend: keep using beacon_get and adding
> >> documentation - or - creating an exported callback for awake_window_start?
> >
> > I guess you could add it... However, I don't really fully understand.
> > There's no guarantee that fetching the beacon is done anywhere close to
> > TBTT? Or does ath9k happen to do it just after TXing a beacon? You're
> > encoding quite a lot of ath9k-specific assumptions here it seems?
> 
> I think the assumption is currently correct for ath5k, ath9k, ath9k_htc, 
> carl9170 and rt2800 (that's as far as I checked). All of these fetch a 
> beacon on SWBA/PRETBTT interrupt (more or less) immediately before TBTT.

It's still pretty bad to make that assumption implicitly -- I think you
should at least document it as a big todo item :)

johannes

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux