On Mon, Aug 12, 2013 at 10:20:14AM +0800, zwu.kernel@xxxxxxxxx wrote: > From: Zhi Yong Wu <wuzhy@xxxxxxxxxxxxxxxxxx> > > The patchset is trying to introduce hot tracking function in > VFS layer, which will keep track of real disk I/O in memory. > By it, you will easily know more details about disk I/O, and > then detect where disk I/O hot spots are. Also, specific FS > can take use of it to do accurate defragment, and hot relocation > support, etc. Sigh... a) ioctl_heat_info() calls hot_inode_item_put() with no locks held. Obviously racy. b) refcount on range_item is completely pointless; there are two call sites of hot_range_item_put() that might drop the final reference *and* they always do so - hot_range_item_lookup() after having lost the race (in which case we are freeing an item that had never been seen by anybody else) and hot_range_tree_free(), which is doing bulk freeing of range_item when an inode_item is being freed. c) ->m_lock is going to be badly contended from time to time (== when hot_update_worker() is doing list_sort()). Moreover, the same spinlock will see one hell of cacheline bouncing... How much overhead does that thing cause on reasonable loads on large SMP setups? Is that supposed to be possible to enable on production boxen? -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html