From: Zhi Yong Wu <wuzhy@xxxxxxxxxxxxxxxxxx> HI, guys, Any comments or ideas are appreciated, thanks. NOTE: The patchset can be obtained via my kernel dev git on github: git@xxxxxxxxxx:wuzhy/kernel.git hot_tracking If you're interested, you can also review them via https://github.com/wuzhy/kernel/commits/hot_tracking For more info, please check hot_tracking.txt in Documentation TODO List: 1.) Need to do scalability or performance tests. - Required 2.) Need one simpler but efficient temp calculation function 3.) How to save the file temperature among the umount to be able to preserve the file tempreture after reboot - Optional Changelog: - 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] - Rewritten debugfs support based on seq_file operation. [Dave Chinner] - Refactored workqueue support. [Dave Chinner] - Turn some Micro into be tunable [Zhiyong, Zheng Liu] TIME_TO_KICK, and HEAT_UPDATE_DELAY - Introduce hot func registering framework [Zhiyong] - Remove global variable for hot tracking [Zhiyong] - Add xfs hot tracking support [Dave Chinner] - Add ext4 hot tracking support [Zheng Liu] - Cleanedup a lot of other issues [Dave Chinner] - Converted to Radix trees, not RB-tree [Zhiyong, Dave Chinner] - Added memory shrinker [Dave Chinner] - Converted to one workqueue to update map info periodically [Dave Chinner] - Cleanedup a lot of other issues [Dave Chinner] - Reduce new files and put all in fs/hot_tracking.[ch] [Dave Chinner] - Add btrfs hot tracking support [Zhiyong] - The first three patches can probably just be flattened into one. [Marco Stornelli , Dave Chinner] Dave Chinner (1): xfs: add hot tracking support Zheng Liu (1): ext4: add hot tracking support Zhi Yong Wu (16): vfs: introduce some data structures vfs: add init and cleanup functions vfs: add I/O frequency update function vfs: add two map info arrays vfs: add hooks to enable hot tracking vfs: add temp calculation function vfs: add map info update function vfs: add aging function vfs: add one work queue vfs: add FS hot type support vfs: register one shrinker vfs: add one ioctl interface vfs: add debugfs support procfs: add two hot_track proc files btrfs: add hot tracking support vfs: add documentation Documentation/filesystems/00-INDEX | 2 + Documentation/filesystems/hot_tracking.txt | 263 ++++++ 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 | 6 + fs/ext4/ext4.h | 3 + fs/ext4/super.c | 13 +- fs/hot_tracking.c | 1321 ++++++++++++++++++++++++++++ fs/hot_tracking.h | 53 ++ fs/ioctl.c | 74 ++ fs/xfs/xfs_mount.h | 1 + fs/xfs/xfs_super.c | 16 + include/linux/fs.h | 5 + include/linux/hot_tracking.h | 146 +++ kernel/sysctl.c | 14 + mm/filemap.c | 6 + mm/page-writeback.c | 12 + mm/readahead.c | 7 + 21 files changed, 1971 insertions(+), 3 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.6.5 -- 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