Hey, On Fri, Jun 29, 2012 at 10:20:11AM +0800, Li Zefan wrote: > > Can you please elaborate a bit? I'm not really following? Where does > > the last root->d_count-- come from? > > > From my limited knowledge about vfs internal, seems the parent's refcnt won't go down > to 0 before its children. When mkdir, the parent's refcnt will be incremented, and > after rmdir, dput(subdir) will drop subdir's refcnt and then drop parent's. > > So when dropping the subdir's refcnt and leading the superblock to be killed, the root's > dentry is still > 0. Heh, yeah, I thought you found who was holding out on the refcnt. :) > >> I use this script to reproduce the bug: > >> > >> mount -t cgroup -o cpu xxx /mnt > >> mkdir /mnt/sub > >> sleep 100 < /mnt/sub & > >> kill $! > >> wait $! > >> rmdir /mnt/sub > >> umount /mnt > > Unfortunately, this doesn't reproduce the bug here either. :( > > I can reproduce the bug reliably.. Try s/cpu/perf or s/cpu/net_cls, which have fewer > cgroup files? Hmm... weird. Maybe some debug config option I have is preventing the race from occurring as reliably? Can you please attach your .config? Thanks. -- tejun -- 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