Re: [RFC PATCH v5 1/2] Use lock_device_hotplug() in cpu_probe_store() and cpu_release_store()

From: Tejun Heo
Date: Thu Apr 24 2014 - 10:32:20 EST


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

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

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?

Thanks.

--
tejun
--
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/