On 12/13/2012 02:59 PM, Johannes Berg wrote:
Turns out that not only was flush_workqueue() slow as reported by Ben, it was also broken because this is way too late to finish the station destruction in AP mode. Fixing this with keeping the roaming semantics (no RCU barrier or synchronize in there) is a bit tricky so the first patch just fixes the problem, and the last patch puts back the optimisation. The patches inbetween are just padding ;-)
I applied this series (as well as the beacon cleanup from Luius) and so far, the 600-station test case is working fine. I backported this to 3.7.0, by the way. It was mostly clean, but I had to tweak a few things to resolve conflicts. We will of course let you know if we see anything weird :) So, you can add: Tested-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> Thanks, Ben -- Ben Greear <greearb@xxxxxxxxxxxxxxx> Candela Technologies Inc http://www.candelatech.com -- 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