Re: [PATCH v2 00/12] VFS hot tracking

From: Zhi Yong Wu
Date: Tue May 21 2013 - 18:55:43 EST


Ping...

On Tue, May 14, 2013 at 8:59 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.
>
> After V1 was sent out, Chandra Seetharaman has reviewed and
> made a lot of comments, thanks a lot to him. Not it's time to
> send out its V2 for external review, 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 v1:
> - 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]
>
> Zhi Yong Wu (12):
> VFS hot tracking: introduce some data structures
> VFS hot tracking: add i/o freq tracking hooks
> VFS hot tracking: add one workqueue to update hot map
> VFS hot tracking: register one shrinker
> VFS hot tracking, rcu: introduce one rcu macro for list
> VFS hot tracking, seq_file: introduce one set of rcu seq_list
> interfaces
> VFS hot tracking: add debugfs support
> VFS hot tracking: add one ioctl interface
> VFS hot tracking, procfs: add two proc interfaces
> VFS hot tracking, btrfs: add hot tracking support
> VFS hot tracking: add documentation
> VFS hot tracking: add fs hot type support
>
> Documentation/filesystems/00-INDEX | 2 +
> Documentation/filesystems/hot_tracking.txt | 256 ++++++
> 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 | 1320 ++++++++++++++++++++++++++++
> fs/hot_tracking.h | 67 ++
> fs/ioctl.c | 70 ++
> fs/namei.c | 2 +
> fs/seq_file.c | 37 +
> include/linux/fs.h | 5 +
> include/linux/hot_tracking.h | 175 ++++
> include/linux/rculist.h | 5 +
> include/linux/seq_file.h | 7 +
> kernel/sysctl.c | 14 +
> mm/filemap.c | 6 +
> mm/page-writeback.c | 12 +
> mm/readahead.c | 6 +
> 21 files changed, 2019 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-btrfs" 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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/