On 09/06/2017 07:48 AM, Prateek Sood wrote: > Remove circular dependency deadlock in a scenario where hotplug of CPU is > being done while there is updation in cgroup and cpuset triggered from > userspace. > > Example scenario: > kworker/0:0 => kthreadd => init:729 => init:1 => kworker/0:0 > > kworker/0:0 - lock(cpuhotplug.mutex) [held] > flush(work) [no high prio workqueue available on CPU] > wait_for_completion() > > kthreadd - percpu_down_read(cgroup_threadgroup_rwsem) [waiting] > > init:729 - percpu_down_write(cgroup_threadgroup_rwsem) [held] > lock(cpuset_mutex) [waiting] > > init:1 - lock(cpuset_mutex) [held] > lock(cpuhotplug.mutex) [waiting] > > Eliminate this dependecy by reordering locking of cpuset_mutex > and cpuhotplug.mutex in following order > 1. Acquire cpuhotplug.mutex > 2. Acquire cpuset_mutex > > Signed-off-by: Prateek Sood <prsood@xxxxxxxxxxxxxx> Is this patch for the latest upstream kernel or 4.4? There is no cpuhotplug.mutex anymore in upstream kernel. It is a per-cpu rwsem cpu_hotplug_lock. Cheers, Longman -- To unsubscribe from this list: send the line "unsubscribe cgroups" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html