On Fri, Aug 27, 2010 at 8:43 AM, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote: > On Fri, 2010-08-27 at 08:40 -0700, Luis R. Rodriguez wrote: >> On Fri, Aug 27, 2010 at 8:37 AM, Johannes Berg >> <johannes@xxxxxxxxxxxxxxxx> wrote: >> > On Fri, 2010-08-27 at 08:28 -0700, Luis R. Rodriguez wrote: >> > >> >> Indeed... I do not see where we keep track of the DTIM count and was >> >> afraid this was not sufficient. I had not thought about the last >> >> received multicast / broadcast frame, that will require some more >> >> work. But I also noticed even ieee80211_recalc_ps() does not take this >> >> into account when computing the max_sleep_period ieee80211_enable_ps() >> >> for dynamic power save, it only considers the DTIM period. We send the >> >> nullfunc frame for dynamic power save and it does not seem we take >> >> into consideration the DTIM count and last RX's broadcast / multicast >> >> data prior to sending the nullfunc to go into power save. So it seems >> >> to me dynamic power save would also loses broadcast / multicast data >> >> frames. >> > >> > No, the max sleep period is just a helper variable for device >> > implementation of sleep -- the actual alignment of it with DTIM beacons >> > etc. has to be done by the device. Therefore, it isn't so :-) >> >> I noticed the comment on the PS documentation that the reason for this >> is that mac80211 is too slow, is that right? > > Well, there's no way we can reliably wake up exactly before a beacon by > implementing that in software, hard real-time hasn't been achieved in > Linux yet :-) Keyword here is *exactly*. I don't want to wake up *exactly* at DTIM, only ensure we don't sleep during it and the send buffered frames and multicast traffic data. Why can we not implement this on mac80211? Luis -- 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