[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1398390970.2805.136.camel@ThinkPad-T5421.cn.ibm.com>
Date: Fri, 25 Apr 2014 09:56:10 +0800
From: Li Zhong <zhong@...ux.vnet.ibm.com>
To: Tejun Heo <tj@...nel.org>
Cc: LKML <linux-kernel@...r.kernel.org>, gregkh@...uxfoundation.org,
rafael.j.wysocki@...el.com, toshi.kani@...com
Subject: Re: [RFC PATCH v5 1/2] Use lock_device_hotplug() in
cpu_probe_store() and cpu_release_store()
On Thu, 2014-04-24 at 10:32 -0400, Tejun Heo wrote:
> Hello,
>
> On Thu, Apr 24, 2014 at 04:37:23PM +0800, Li Zhong wrote:
> > On Wed, 2014-04-23 at 10:39 -0400, Tejun Heo wrote:
> > After thinking it harder, I still couldn't see ABBA here ...
> >
> > the active protection taken here is for "probe/release" which will not
> > be waited for removing something like "online" under cpu#? Or my
> > assumption that s_active for different files are different locks are
> > completely wrong? Or I missed something else?
>
> I'm probably confused about the locking. I was thinking a scenario
> like the following.
>
> A. CPU on/offline
>
> grabs s_active protection of online node
> grabs cpu subsys mutex
> perform on/offline
> releases cpu subsys mutex
> releases s_active protection of online node
so the chain here is s_active(online) -> cpu_subsys_mutex
>
> B. CPU release
>
> grabs s_active protection of release node
> grabs cpu subsys mutex
> performs removal of the CPU
> removes the online node
> releases cpu subsys mutex
> releases s_active protection of release node
and the chain here is s_active(release) -> cpu_subsys_mutex ->
s_active(online)
>
> A nests cpu subsys mutex under s_active of the online node. B nests
> s_active of the online node under the cpu subsys mutex. What am I
> missing?
>From the above two chain, I think the problem is cpu_subsys_mutex and
s_active(online), which is the deadlock we are trying to solve in patch
#2. I seems to me s_active(release) here doesn't have lock issues?
Thanks, Zhong
>
> Thanks.
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists