On Thu, 2013-07-11 at 08:29 -0700, Ben Greear wrote: > > I also don't like maintaining two separate hash tables and all that. > > > > I'd reconsider if you actually remove the hash entirely, but that'll be > > tricky to walk the station list and will quite possibly make the RX path > > there more expensive? > > Remove local->sta_hash ? To be honest, I'm undecided. Yes, I was thinking that, but I also think having a huge hashtable like that for each virtual interface is way overkill, in particular for station interfaces that usually have one peer (the AP) and maybe a few TDLS peers. Or P2P-Device interfaces that have no peers at all ... I don't see a good way to improve the hash either, since we don't always (e.g. in RX path) have the interface address. The basic problem really is that the hash now is designed to work well for more regular use cases than yours, where you talk to any number of different stations but degrades really badly when you talk only to a single one many times. That use case is really special, and I don't want to 'fix' that in a way that would make the other use case significantly worse in memory consumption or CPU utilisation. 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