Search Linux Wireless

Add a new work-queue for destructing stations?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



As previously posted, there can be cases where the RTNL is held for a
very long time when trying to do the:  flush_workqueue(local->workqueue);
in mac80211_do_stop because there are lots of 'slow' work-items queued up.

I'd like to work on making this faster...

My first idea is to add a second work-queue to the 'local' for high-priority
items that can be executed independently from the current local->workqueue,
and put the free_sta_rcu work() in that queue.

I'm guessing that to be safe, the do_stop() code would need to selectively
purge any work items in the local->workqueue that relate to the sdata
being destroyed, as well.  I'm not sure how possible that would be...

Any comments on this, or suggestions for a better way to do this?

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


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux