On Wed, 2014-04-23 at 10:39 -0400, Tejun Heo wrote: > On Wed, Apr 23, 2014 at 10:00:26AM +0800, Li Zhong wrote: > > If you remove cpu0, then the cpu0 directory will be removed, together > > with the "online" file in the directory, while some other process might > > be writing 0 or 1 to it. > > > > But here, for the probe/release, take "release" for example, if user > > writes something that stands for cpu0 to it, the cpu0 will be removed, > > and the cpu0 directory and the files under it will be removed. But > > "release" itself is not removed. > > > > They are attributes of cpu_subsys, not of some specific cpus. > > OIC, so the file itself which triggers removal doesn't get removed. > Hmmm... but can't you still fall into deadlock? If on/offline takes > the same lock under active protection which is also taken while > removing the cpu files, it doesn't really matter whether the release > file itself is removed in the process or not. You can still have ABBA > deadlock. What am I missing here?
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? Thanks, Zhong > > Thanks. > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/