Re: [PATCH] Fix deadlock in __create_workqueue

From: Andrew Morton
Date: Fri Apr 30 2004 - 21:20:40 EST


Srivatsa Vaddagiri <vatsa@xxxxxxxxxx> wrote:
>
> Noticed a possible deadlock in __create_workqueue when CONFIG_HOTPLUG_CPU is
> set. This can happen when create_workqueue_thread fails to create a worker
> thread. In that case, we call destroy_workqueue with cpu hotplug lock held.
> destroy_workqueue however also attempts to take the same lock.
>
> Patch below address this deadlock as well as a kthread_stop race.

Fixing a kthread_stop() race is a quite different thing from fixing a
create-workqueue() error-path deadlock and hence should be a separate
patch.

And the description of that separate patch should explain the race which
it is fixing! Yes, the logic in worker_thread() is a bit dorky, but I
don't believe that there is a race in there.

I dropped that part of your patch. Please resend, with justification, if
you disagree.

Thanks.
-
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/