* [PATCH] net: ethernet: intel: fm10k: Remove create_workqueue
@ 2016-06-01 15:40 Bhaktipriya Shridhar
2016-06-01 15:45 ` Tejun Heo
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Bhaktipriya Shridhar @ 2016-06-01 15:40 UTC (permalink / raw)
To: Jeff Kirsher; +Cc: Tejun Heo, intel-wired-lan, netdev, linux-kernel
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 <bhaktipriya96@gmail.com>
---
drivers/net/ethernet/intel/fm10k/fm10k_main.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/fm10k/fm10k_main.c b/drivers/net/ethernet/intel/fm10k/fm10k_main.c
index 0e166e9..add9166 100644
--- a/drivers/net/ethernet/intel/fm10k/fm10k_main.c
+++ b/drivers/net/ethernet/intel/fm10k/fm10k_main.c
@@ -56,7 +56,7 @@ static int __init fm10k_init_module(void)
pr_info("%s\n", fm10k_copyright);
/* create driver workqueue */
- fm10k_workqueue = create_workqueue("fm10k");
+ fm10k_workqueue = alloc_workqueue("fm10k", WQ_MEM_RECLAIM, 0);
fm10k_dbg_init();
@@ -77,7 +77,6 @@ static void __exit fm10k_exit_module(void)
fm10k_dbg_exit();
/* destroy driver workqueue */
- flush_workqueue(fm10k_workqueue);
destroy_workqueue(fm10k_workqueue);
}
module_exit(fm10k_exit_module);
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] net: ethernet: intel: fm10k: Remove create_workqueue
2016-06-01 15:40 [PATCH] net: ethernet: intel: fm10k: Remove create_workqueue Bhaktipriya Shridhar
@ 2016-06-01 15:45 ` Tejun Heo
2016-06-01 18:46 ` Tejun Heo
2016-07-11 19:21 ` [Intel-wired-lan] " Singh, Krishneil K
2 siblings, 0 replies; 4+ messages in thread
From: Tejun Heo @ 2016-06-01 15:45 UTC (permalink / raw)
To: Bhaktipriya Shridhar; +Cc: Jeff Kirsher, intel-wired-lan, netdev, linux-kernel
On Wed, Jun 01, 2016 at 09:10:09PM +0530, Bhaktipriya Shridhar wrote:
> 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 <bhaktipriya96@gmail.com>
Acked-by: Tejun Heo <tj@kernel.org>
Thanks.
--
tejun
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] net: ethernet: intel: fm10k: Remove create_workqueue
2016-06-01 15:40 [PATCH] net: ethernet: intel: fm10k: Remove create_workqueue Bhaktipriya Shridhar
2016-06-01 15:45 ` Tejun Heo
@ 2016-06-01 18:46 ` Tejun Heo
2016-07-11 19:21 ` [Intel-wired-lan] " Singh, Krishneil K
2 siblings, 0 replies; 4+ messages in thread
From: Tejun Heo @ 2016-06-01 18:46 UTC (permalink / raw)
To: Bhaktipriya Shridhar; +Cc: Jeff Kirsher, intel-wired-lan, netdev, linux-kernel
On Wed, Jun 01, 2016 at 09:10:09PM +0530, Bhaktipriya Shridhar wrote:
> 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 <bhaktipriya96@gmail.com>
Acked-by: Tejun Heo <tj@kernel.org>
Thanks.
--
tejun
^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: [Intel-wired-lan] [PATCH] net: ethernet: intel: fm10k: Remove create_workqueue
2016-06-01 15:40 [PATCH] net: ethernet: intel: fm10k: Remove create_workqueue Bhaktipriya Shridhar
2016-06-01 15:45 ` Tejun Heo
2016-06-01 18:46 ` Tejun Heo
@ 2016-07-11 19:21 ` Singh, Krishneil K
2 siblings, 0 replies; 4+ messages in thread
From: Singh, Krishneil K @ 2016-07-11 19:21 UTC (permalink / raw)
To: Bhaktipriya Shridhar, Kirsher, Jeffrey T
Cc: Tejun Heo, netdev@vger.kernel.org,
intel-wired-lan@lists.osuosl.org, linux-kernel@vger.kernel.org
-----Original Message-----
From: Intel-wired-lan [mailto:intel-wired-lan-bounces@lists.osuosl.org] On Behalf Of Bhaktipriya Shridhar
Sent: Wednesday, June 1, 2016 8:40 AM
To: Kirsher, Jeffrey T <jeffrey.t.kirsher@intel.com>
Cc: Tejun Heo <tj@kernel.org>; netdev@vger.kernel.org; intel-wired-lan@lists.osuosl.org; linux-kernel@vger.kernel.org
Subject: [Intel-wired-lan] [PATCH] net: ethernet: intel: 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 <bhaktipriya96@gmail.com>
---
Tested-by: Krishneil Singh <Krishneil.k.singh@intel.com>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-07-11 19:21 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-06-01 15:40 [PATCH] net: ethernet: intel: fm10k: Remove create_workqueue Bhaktipriya Shridhar
2016-06-01 15:45 ` Tejun Heo
2016-06-01 18:46 ` Tejun Heo
2016-07-11 19:21 ` [Intel-wired-lan] " Singh, Krishneil K
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).