Tony Espy wrote:
Dan Williams wrote:On Wed, 2009-02-04 at 15:40 -0800, Howard Chu wrote:OK. I suggest a compromise then, since fetching kernel time will also be expensive if done frequently - just fetch it at driver load and resume time, and store it as a<base> in the driver. Cache entries then store base+jiffy. This allows cache stamps to continue to be cheap, but also solves the sleep/resume mismatch.Yeah, that might work. Want to whip up a quick patch we can use for further discussion?
Will look into it.
I still think simple ( ie. either have mac80211 handle the expiration or flush of scan results on resume ) wins out over the more complicated approach of having the connection manager handle expiration of older scan results. Also a mobile device ( eg. a netbook or OLPC ) could be moving relative to the same set of access points while in S3 ( ie. within a single office and/or building ), and that the cached scan results after resume could reflect inaccurate relative signal strengths of the the APs. This could effect roaming performance.
Yeah, good point. This is also trivial to implement - just call ieee80211_rx_bss_list_deinit(local) in pm.c: __iee80211_suspend(). I'm going to play with this approach first.
-- -- Howard Chu CTO, Symas Corp. http://www.symas.com Director, Highland Sun http://highlandsun.com/hyc/ Chief Architect, OpenLDAP http://www.openldap.org/project/