Message ID | 20160830190507.GA11493@Karyakshetra (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Johannes Berg |
Headers | show |
On Wed, Aug 31, 2016 at 12:35:07AM +0530, Bhaktipriya Shridhar wrote: > The workqueue "cfg80211_wq" is involved in cleanup, scan and event related > works. It queues multiple work items &rdev->event_work, > &rdev->dfs_update_channels_wk, > &wiphy_to_rdev(request->wiphy)->scan_done_wk, > &wiphy_to_rdev(wiphy)->sched_scan_results_wk, which require strict > execution ordering. > Hence, an ordered dedicated workqueue has been used. > > Since it's a wireless driver, WQ_MEM_RECLAIM has been set to ensure > forward progress under memory pressure. > > Signed-off-by: Bhaktipriya Shridhar <bhaktipriya96@gmail.com> Acked-by: Tejun Heo <tj@kernel.org> Thanks.
On Wed, 2016-08-31 at 00:35 +0530, Bhaktipriya Shridhar wrote: > The workqueue "cfg80211_wq" is involved in cleanup, scan and event > related > works. It queues multiple work items &rdev->event_work, > &rdev->dfs_update_channels_wk, > &wiphy_to_rdev(request->wiphy)->scan_done_wk, > &wiphy_to_rdev(wiphy)->sched_scan_results_wk, which require strict > execution ordering. > Hence, an ordered dedicated workqueue has been used. > > Since it's a wireless driver, WQ_MEM_RECLAIM has been set to ensure > forward progress under memory pressure. > Applied, thanks. johannes
diff --git a/net/wireless/core.c b/net/wireless/core.c index d25c82b..2cd4563 100644 --- a/net/wireless/core.c +++ b/net/wireless/core.c @@ -1218,7 +1218,7 @@ static int __init cfg80211_init(void) if (err) goto out_fail_reg; - cfg80211_wq = create_singlethread_workqueue("cfg80211"); + cfg80211_wq = alloc_ordered_workqueue("cfg80211", WQ_MEM_RECLAIM); if (!cfg80211_wq) { err = -ENOMEM; goto out_fail_wq;
The workqueue "cfg80211_wq" is involved in cleanup, scan and event related works. It queues multiple work items &rdev->event_work, &rdev->dfs_update_channels_wk, &wiphy_to_rdev(request->wiphy)->scan_done_wk, &wiphy_to_rdev(wiphy)->sched_scan_results_wk, which require strict execution ordering. Hence, an ordered dedicated workqueue has been used. Since it's a wireless driver, WQ_MEM_RECLAIM has been set to ensure forward progress under memory pressure. Signed-off-by: Bhaktipriya Shridhar <bhaktipriya96@gmail.com> --- net/wireless/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 2.1.4