[PATCH 24/32] dlm: dlm workqueues aren't used in memory reclaim path

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Tejun Heo
Date: Monday, January 3, 2011 - 6:49 am

dlm isn't depended upon during memory reclaim and so are its two
workqueues.  Convert to alloc[_ordered]_workqueue() without
WQ_MEM_RECLAIM.  While at it, fix workqueue allocation failure
handling.  They return %NULL on failure not ERR_PTR() value.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Christine Caulfield <ccaulfie@redhat.com>
Cc: David Teigland <teigland@redhat.com>
Cc: cluster-devel@redhat.com
---
Only compile tested.  Please feel free to take it into the subsystem
tree or simply ack - I'll route it through the wq tree.

Thanks.

 fs/dlm/lowcomms.c |   19 ++++++++-----------
 1 files changed, 8 insertions(+), 11 deletions(-)

diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c
index 37a34c2..9aad7c0 100644
--- a/fs/dlm/lowcomms.c
+++ b/fs/dlm/lowcomms.c
@@ -1430,20 +1430,17 @@ static void work_stop(void)
 
 static int work_start(void)
 {
-	int error;
-	recv_workqueue = create_workqueue("dlm_recv");
-	error = IS_ERR(recv_workqueue);
-	if (error) {
-		log_print("can't start dlm_recv %d", error);
-		return error;
+	recv_workqueue = alloc_workqueue("dlm_recv", 0, 1);
+	if (!recv_workqueue) {
+		log_print("can't start dlm_recv");
+		return -ENOMEM;
 	}
 
-	send_workqueue = create_singlethread_workqueue("dlm_send");
-	error = IS_ERR(send_workqueue);
-	if (error) {
-		log_print("can't start dlm_send %d", error);
+	send_workqueue = alloc_ordered_workqueue("dlm_send", 0);
+	if (!send_workqueue) {
+		log_print("can't start dlm_send");
 		destroy_workqueue(recv_workqueue);
-		return error;
+		return -ENOMEM;
 	}
 
 	return 0;
-- 
1.7.1

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 01/32] arm/omap: use system_wq in mailbox, Tejun Heo, (Mon Jan 3, 6:49 am)
[PATCH 11/32] v4l/cx18: update workqueue usage, Tejun Heo, (Mon Jan 3, 6:49 am)
[PATCH 24/32] dlm: dlm workqueues aren't used in memory re ..., Tejun Heo, (Mon Jan 3, 6:49 am)
[PATCH 25/32] ext4: convert to alloc_workqueue(), Tejun Heo, (Mon Jan 3, 6:49 am)
[PATCH 28/32] xfs: convert to alloc_workqueue(), Tejun Heo, (Mon Jan 3, 6:49 am)
Re: [PATCH 20/32] video/msm_fb: use system_wq instead of d ..., Stanislaw Gruszka, (Mon Jan 3, 10:06 am)
Re: [PATCH 01/32] arm/omap: use system_wq in mailbox, Kanigeri, Hari, (Mon Jan 3, 2:35 pm)
Re: [PATCH 11/32] v4l/cx18: update workqueue usage, Andy Walls, (Mon Jan 3, 5:54 pm)
Re: [PATCH 11/32] v4l/cx18: update workqueue usage, Andy Walls, (Tue Jan 4, 6:21 am)