Re: [GIT PULL] dlm fix for 2.6.38

From: Steven Whitehouse
Date: Sat Feb 12 2011 - 10:43:36 EST


Hi,

On Fri, 2011-02-11 at 18:38 -0500, David Teigland wrote:
> Linus,
>
> Please pull this fix for a dlm regression from:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm.git for-linus
>
> Thanks,
> Dave
>
> Author: David Teigland <teigland@xxxxxxxxxx>
> Date: Fri Feb 11 16:44:31 2011 -0600
>
> dlm: use single thread workqueues
>
> The recent commit to use cmwq for send and recv threads
> dcce240ead802d42b1e45ad2fcb2ed4a399cb255 introduced problems,
> apparently due to multiple workqueue threads. Single threads
> make the problems go away, so return to that until we fully
> understand the concurrency issues with multiple threads.
>
> Signed-off-by: David Teigland <teigland@xxxxxxxxxx>
>
> diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c
> index 9c64ae9..2d8c87b 100644
> --- a/fs/dlm/lowcomms.c
> +++ b/fs/dlm/lowcomms.c
> @@ -1468,15 +1468,13 @@ static void work_stop(void)
>
> static int work_start(void)
> {
> - recv_workqueue = alloc_workqueue("dlm_recv", WQ_MEM_RECLAIM |
> - WQ_HIGHPRI | WQ_FREEZEABLE, 0);
> + recv_workqueue = create_singlethread_workqueue("dlm_recv");
> if (!recv_workqueue) {
> log_print("can't start dlm_recv");
> return -ENOMEM;
> }
>
> - send_workqueue = alloc_workqueue("dlm_send", WQ_MEM_RECLAIM |
> - WQ_HIGHPRI | WQ_FREEZEABLE, 0);
> + send_workqueue = create_singlethread_workqueue("dlm_send");
> if (!send_workqueue) {
> log_print("can't start dlm_send");
> destroy_workqueue(recv_workqueue);
>
>

What is the issue here? If there is a problem with the workqueues then
we should ask Tejun about it,

Steve.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/