Skip to content

Commit 0a38c17

Browse files
bhaktipriyaJeff Kirsher
authored andcommitted
fm10k: Remove create_workqueue
alloc_workqueue replaces deprecated create_workqueue(). A dedicated workqueue has been used since the workitem (viz fm10k_service_task, which manages and runs other subtasks) is involved in normal device operation and requires forward progress under memory pressure. create_workqueue has been replaced with alloc_workqueue with max_active as 0 since there is no need for throttling the number of active work items. Since network devices may be used in memory reclaim path, WQ_MEM_RECLAIM has been set to guarantee forward progress. flush_workqueue is unnecessary since destroy_workqueue() itself calls drain_workqueue() which flushes repeatedly till the workqueue becomes empty. Hence the call to flush_workqueue() has been dropped. Signed-off-by: Bhaktipriya Shridhar <[email protected]> Acked-by: Tejun Heo <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
1 parent 8646f7b commit 0a38c17

File tree

1 file changed

+1
-2
lines changed

1 file changed

+1
-2
lines changed

drivers/net/ethernet/intel/fm10k/fm10k_main.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ static int __init fm10k_init_module(void)
5656
pr_info("%s\n", fm10k_copyright);
5757

5858
/* create driver workqueue */
59-
fm10k_workqueue = create_workqueue("fm10k");
59+
fm10k_workqueue = alloc_workqueue("fm10k", WQ_MEM_RECLAIM, 0);
6060

6161
fm10k_dbg_init();
6262

@@ -77,7 +77,6 @@ static void __exit fm10k_exit_module(void)
7777
fm10k_dbg_exit();
7878

7979
/* destroy driver workqueue */
80-
flush_workqueue(fm10k_workqueue);
8180
destroy_workqueue(fm10k_workqueue);
8281
}
8382
module_exit(fm10k_exit_module);

0 commit comments

Comments
 (0)