On Mon, Sep 19, 2011 at 7:38 PM, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote: > On Mon, 2011-09-19 at 19:30 +0300, Eliad Peller wrote: > >> AFAIU from the coex guys, the scenario is something like this: >> upon coex activity, the fw might delay its rx and tx paths. this means >> that the fw might get a frame within the 100ms of the dyn ps, but >> delay its processing and pass it up to the driver only later. >> this will cause redundant psm enter (after 100ms) and psm exit (after >> the fw passed the packet). >> i'm not sure about the exact effect during coex operation, but >> eventually these psm enter/exit affect the throughput. >> >> another point here, is that during a specific period (during auto_mode >> on), there might or might not be coex activity. thus, we can't just >> disable dyn_ps, as it will hurt throughput (when there is no coex >> activity). >> >> bottom line - i'm not sure about all the details, but according to >> their tests - it does improve the throughput. >> (i can try getting better details if you have additional questions) > > It'd be interesting to see if we can just treat this as a "minimum awake > time", kinda like going back to the range I thought about earlier. > do you mean something like: diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index 4274e94..57695e3 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c @@ -702,11 +702,12 @@ void ieee80211_recalc_ps(struct ieee80211_local *local, s32 latency) if (latency > (1900 * USEC_PER_MSEC) && latency != (2000 * USEC_PER_SEC)) timeout = 0; - else if (local->dynamic_ps_driver_timeout >= 0) - timeout = local->dynamic_ps_driver_timeout; else timeout = 100; } + if (timeout && local->dynamic_ps_driver_timeout > timeout) + timeout = local->dynamic_ps_driver_timeout; + local->dynamic_ps_user_timeout = timeout; if (!local->disable_dynamic_ps) conf->dynamic_ps_timeout = ? i don't find it much different. Eliad. -- 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