HI, Viro any comment? If no, please merge it, thanks. On Mon, Aug 12, 2013 at 10:20 AM, <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. > > Now it's time to send out its V4 for external review, and > any comments or ideas are appreciated, thanks. > > NOTE: > > The patchset can be obtained via my kernel dev git on github: > git://github.com/wuzhy/kernel.git hot_tracking > If you're interested, you can also review them via > https://github.com/wuzhy/kernel/commits/hot_tracking > > For how to use and more other info and performance report, > please check hot_tracking.txt in Documentation and following > links: > 1.) http://lwn.net/Articles/525651/ > 2.) https://lkml.org/lkml/2012/12/20/199 > > Changelog from v3: > - Removed debugfs support, but leave it to TODO list [viro, Chandra] > - Killed HOT_DELETING and HOT_IN_LIST flag [viro] > - Fixed unlink issues [viro] > - Fixed the issue on lookups (both for inode and range) > leak on race with unlink [viro] > - Killed hot_comm_item and split the functions which take it [virio] > - Fixed some other issues [zwu, Chandra] > > v3: > - Added memory caping function for hot items [Zhiyong] > - Cleanup aging function [Zhiyong] > > v2: > - Refactored to be under RCU [Chandra Seetharaman] > Merged some code changes [Chandra Seetharaman] > - Fixed some issues [Chandra Seetharaman] > > v1: > - Solved 64 bits inode number issue. [David Sterba] > - Embed struct hot_type in struct file_system_type [Darrick J. Wong] > - Cleanup Some issues [David Sterba] > - Use a static hot debugfs root [Greg KH] > > rfcv4: > - Introduce hot func registering framework [Zhiyong] > - Remove global variable for hot tracking [Zhiyong] > - Add btrfs hot tracking support [Zhiyong] > > rfcv3: > 1.) Rewritten debugfs support based seq_file operation. [Dave Chinner] > 2.) Refactored workqueue support. [Dave Chinner] > 3.) Turn some Micro into be tunable [Zhiyong, Liu Zheng] > TIME_TO_KICK, and HEAT_UPDATE_DELAY > 4.) Cleanedup a lot of other issues [Dave Chinner] > > > rfcv2: > 1.) Converted to Radix trees, not RB-tree [Zhiyong, Dave Chinner] > 2.) Added memory shrinker [Dave Chinner] > 3.) Converted to one workqueue to update map info periodically [Dave Chinner] > 4.) Cleanedup a lot of other issues [Dave Chinner] > > rfcv1: > 1.) Reduce new files and put all in fs/hot_tracking.[ch] [Dave Chinner] > 2.) The first three patches can probably just be flattened into one. > [Marco Stornelli , Dave Chinner] > > Dave Chinner (1): > VFS hot tracking, xfs: Add hot tracking support > > Zhi Yong Wu (9): > VFS hot tracking: Define basic data structures and functions > VFS hot tracking: Track IO and record heat information > VFS hot tracking: Add a workqueue to move items between hot maps > VFS hot tracking: Add shrinker functionality to curtail memory usage > VFS hot tracking: Add an ioctl to get hot tracking information > VFS hot tracking: Add a /proc interface to make the interval tunable > VFS hot tracking: Add a /proc interfaces to control memory usage > VFS hot tracking: Add documentation > VFS hot tracking, btrfs: Add hot tracking support > > Documentation/filesystems/00-INDEX | 2 + > Documentation/filesystems/hot_tracking.txt | 207 +++++++ > fs/Makefile | 2 +- > fs/btrfs/ctree.h | 1 + > fs/btrfs/super.c | 22 +- > fs/compat_ioctl.c | 5 + > fs/dcache.c | 2 + > fs/direct-io.c | 5 + > fs/hot_tracking.c | 833 +++++++++++++++++++++++++++++ > fs/hot_tracking.h | 66 +++ > fs/ioctl.c | 68 +++ > fs/namei.c | 3 + > fs/xfs/xfs_mount.h | 1 + > fs/xfs/xfs_super.c | 18 + > include/linux/fs.h | 4 + > include/linux/hot_tracking.h | 148 +++++ > kernel/sysctl.c | 14 + > mm/filemap.c | 6 + > mm/page-writeback.c | 12 + > mm/readahead.c | 6 + > 20 files changed, 1423 insertions(+), 2 deletions(-) > create mode 100644 Documentation/filesystems/hot_tracking.txt > create mode 100644 fs/hot_tracking.c > create mode 100644 fs/hot_tracking.h > create mode 100644 include/linux/hot_tracking.h > > -- > 1.7.11.7 > > -- > 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 -- Regards, Zhi Yong Wu -- 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