Skip to contentSkip to conversation

cfg80211: Remove deprecated create_singlethread_workqueue

PATCH Applied Bhaktipriya Shridhar 3 participants 3 messages Aug 30, 2016 – Sep 12, 2016

Subsystems (3)

v2 of 4 Applied Latest is v4 →

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 cfg80211: Remove deprecated create_singlethread_workqueue

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.

---
 net/wireless/core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
net/wireless/core.c +1 -1
index d25c82b..2cd4563 100644
@@ -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;

--
2.1.4

Acked-by on v2 1/1
#1 lore raw
Quoted 8 lines · Bhaktipriya Shridhar

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.

Quoted 4 lines

Since it's a wireless driver, WQ_MEM_RECLAIM has been set to ensure forward progress under memory pressure.

Thanks.

Signature · 1 line
tejun
maintainer Applied
#2 lore raw
In reply to Bhaktipriya Shridhar
Quoted 9 lines · Bhaktipriya Shridhar

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.

Quoted 3 lines

Since it's a wireless driver, WQ_MEM_RECLAIM has been set to ensure forward progress under memory pressure.

Applied, thanks.

johannes