Messages in this thread | | | Date | Fri, 30 Apr 2004 19:19:01 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH] Fix deadlock in __create_workqueue |
| |
Srivatsa Vaddagiri <vatsa@in.ibm.com> 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |