]>
Commit | Line | Data |
---|---|---|
ed2a6bee DM |
1 | From 6b155c8fd4d239f7d883d455bbad1be47724bbfc Mon Sep 17 00:00:00 2001 |
2 | From: David Teigland <teigland@redhat.com> | |
3 | Date: Fri, 11 Feb 2011 16:44:31 -0600 | |
4 | Subject: [PATCH 1/1] dlm: use single thread workqueues | |
5 | ||
6 | The recent commit to use cmwq for send and recv threads | |
7 | dcce240ead802d42b1e45ad2fcb2ed4a399cb255 introduced problems, | |
8 | apparently due to multiple workqueue threads. Single threads | |
9 | make the problems go away, so return to that until we fully | |
10 | understand the concurrency issues with multiple threads. | |
11 | ||
12 | Signed-off-by: David Teigland <teigland@redhat.com> | |
13 | --- | |
14 | fs/dlm/lowcomms.c | 6 ++---- | |
15 | 1 files changed, 2 insertions(+), 4 deletions(-) | |
16 | ||
17 | diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c | |
18 | index 9c64ae9..2d8c87b 100644 | |
19 | --- a/fs/dlm/lowcomms.c | |
20 | +++ b/fs/dlm/lowcomms.c | |
21 | @@ -1468,15 +1468,13 @@ static void work_stop(void) | |
22 | ||
23 | static int work_start(void) | |
24 | { | |
25 | - recv_workqueue = alloc_workqueue("dlm_recv", WQ_MEM_RECLAIM | | |
26 | - WQ_HIGHPRI | WQ_FREEZEABLE, 0); | |
27 | + recv_workqueue = create_singlethread_workqueue("dlm_recv"); | |
28 | if (!recv_workqueue) { | |
29 | log_print("can't start dlm_recv"); | |
30 | return -ENOMEM; | |
31 | } | |
32 | ||
33 | - send_workqueue = alloc_workqueue("dlm_send", WQ_MEM_RECLAIM | | |
34 | - WQ_HIGHPRI | WQ_FREEZEABLE, 0); | |
35 | + send_workqueue = create_singlethread_workqueue("dlm_send"); | |
36 | if (!send_workqueue) { | |
37 | log_print("can't start dlm_send"); | |
38 | destroy_workqueue(recv_workqueue); | |
39 | -- | |
40 | 1.7.2.5 | |
41 |