[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <0667dcec-ba42-5f44-596f-c2af891a770e@codeaurora.org>
Date: Wed, 6 Sep 2017 19:53:59 +0530
From: Prateek Sood <prsood@...eaurora.org>
To: Waiman Long <longman@...hat.com>, tj@...nel.org,
lizefan@...wei.com, cgroups@...r.kernel.org, mingo@...nel.org
Cc: linux-kernel@...r.kernel.org, sramana@...eaurora.org
Subject: Re: [PATCH] cgroup/cpuset: remove circular dependency deadlock
On 09/06/2017 06:26 PM, Waiman Long wrote:
> 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@...eaurora.org>
>
> 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
>
Thanks for inputs, I will check latest kernel for details
Regards
Prateek
--
Qualcomm India Private Limited, on behalf of Qualcomm Innovation
Center, Inc., is a member of Code Aurora Forum, a Linux Foundation
Collaborative Project
Powered by blists - more mailing lists