From: zwu.kernel@gmail.com
To: linux-fsdevel@vger.kernel.org
Cc: linux-ext4@vger.kernel.org, linux-btrfs@vger.kernel.org,
linux-kernel@vger.kernel.org, linuxram@linux.vnet.ibm.com,
viro@zeniv.linux.org.uk, david@fromorbit.com, tytso@mit.edu,
cmm@us.ibm.com, wuzhy@linux.vnet.ibm.com, wenqing.lz@taobao.com
Subject: [RFC v4+ hot_track 00/19] vfs: hot data tracking
Date: Mon, 29 Oct 2012 12:30:42 +0800 [thread overview]
Message-ID: <1351485061-12297-1-git-send-email-zwu.kernel@gmail.com> (raw)
From: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>
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 can 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.
2.) Need one simpler but effective temp calc'ing function
3.) How to save the file temperature among the umount to be able to
preserve the file tempreture after reboot
Ben Chociej, Matt Lupfer and Conor Scott originally wrote this code to
be very btrfs-specific. I've taken their code and attempted to
make it more generic and integrate it at the VFS level.
Changelog from v3:
1.) Rewritten debugfs support based seq_file operation. [Dave Chinner]
2.) Refactored workqueue support. [Dave Chinner]
3.) Turn some Micro into be tunable [Zhiyong, Zheng Liu]
TIME_TO_KICK, and HEAT_UPDATE_DELAY
4.) Introduce hot func registering framework [Zhiyong]
5.) Remove global variable for hot tracking [Zhiyong]
6.) Add xfs hot tracking support [Dave Chinner]
7.) Add ext4 hot tracking support [Zheng Liu]
8.) Cleanedup a lot of other issues [Dave Chinner]
v3:
1.) Converted to Radix trees, not RB-tree [Zhiyong, Dave Chinner]
2.) Added memory shrinker [Dave Chinner]
v2:
1.) Converted to one workqueue to update map info periodically [Dave Chinner]
2.) Cleanedup a lot of other issues [Dave Chinner]
v1:
1.) Reduce new files and put all in fs/hot_tracking.[ch] [Dave Chinner]
2.) Add btrfs hot tracking support [Zhiyong]
3.) 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 (17):
vfs: introduce private radix tree structures
vfs: initialize and free data structures
vfs: add I/O frequency update function
vfs: add two map 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: introduce hot func register framework
vfs: register one shrinker
vfs: add one ioctl interface
debugfs: introduce one function
vfs: add debugfs support
sysfs: add two hot_track proc files
btrfs: add hot tracking support
vfs: add documentation
Documentation/filesystems/00-INDEX | 2 +
Documentation/filesystems/hot_tracking.txt | 262 ++++++
fs/Makefile | 2 +-
fs/btrfs/ctree.h | 1 +
fs/btrfs/super.c | 22 +-
fs/compat_ioctl.c | 5 +
fs/dcache.c | 2 +
fs/debugfs/inode.c | 26 +
fs/direct-io.c | 6 +
fs/ext4/ext4.h | 3 +
fs/ext4/super.c | 13 +-
fs/hot_tracking.c | 1367 ++++++++++++++++++++++++++++
fs/hot_tracking.h | 58 ++
fs/ioctl.c | 78 ++
fs/xfs/xfs_mount.h | 1 +
fs/xfs/xfs_super.c | 16 +
include/linux/debugfs.h | 9 +
include/linux/fs.h | 4 +
include/linux/hot_tracking.h | 149 +++
kernel/sysctl.c | 14 +
mm/filemap.c | 6 +
mm/page-writeback.c | 12 +
mm/readahead.c | 6 +
23 files changed, 2061 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
next reply other threads:[~2012-10-29 4:30 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-29 4:30 zwu.kernel [this message]
2012-10-29 4:30 ` [RFC v4+ hot_track 01/19] vfs: introduce private radix tree structures zwu.kernel
2012-10-29 4:30 ` [RFC v4+ hot_track 02/19] vfs: initialize and free data structures zwu.kernel
2012-11-06 22:24 ` David Sterba
2012-11-07 6:55 ` Zhi Yong Wu
2012-11-16 6:16 ` Zhi Yong Wu
2012-10-29 4:30 ` [RFC v4+ hot_track 03/19] vfs: add I/O frequency update function zwu.kernel
2012-11-05 11:07 ` Steven Whitehouse
2012-11-05 11:47 ` Zhi Yong Wu
2012-11-06 22:37 ` David Sterba
2012-11-07 7:03 ` Zhi Yong Wu
2012-11-06 22:45 ` Darrick J. Wong
2012-11-07 8:27 ` Zhi Yong Wu
2012-11-07 18:49 ` Darrick J. Wong
2012-11-08 2:52 ` Zhi Yong Wu
2012-10-29 4:30 ` [RFC v4+ hot_track 04/19] vfs: add two map arrays zwu.kernel
2012-10-29 4:30 ` [RFC v4+ hot_track 05/19] vfs: add hooks to enable hot tracking zwu.kernel
2012-11-06 22:51 ` David Sterba
2012-11-07 7:06 ` Zhi Yong Wu
2012-10-29 4:30 ` [RFC v4+ hot_track 06/19] vfs: add temp calculation function zwu.kernel
2012-10-29 4:30 ` [RFC v4+ hot_track 07/19] vfs: add map info update function zwu.kernel
2012-10-29 4:30 ` [RFC v4+ hot_track 08/19] vfs: add aging function zwu.kernel
2012-10-29 4:30 ` [RFC v4+ hot_track 09/19] vfs: add one work queue zwu.kernel
2012-11-05 11:21 ` Steven Whitehouse
2012-11-05 11:55 ` Zhi Yong Wu
2012-11-05 12:07 ` Steven Whitehouse
2012-11-05 12:20 ` Zhi Yong Wu
2012-10-29 4:30 ` [RFC v4+ hot_track 10/19] vfs: introduce hot func register framework zwu.kernel
2012-11-06 23:14 ` David Sterba
2012-11-07 7:18 ` Zhi Yong Wu
2012-11-06 23:30 ` Darrick J. Wong
2012-11-07 8:34 ` Zhi Yong Wu
2012-11-07 18:58 ` Darrick J. Wong
2012-11-08 2:59 ` Zhi Yong Wu
2012-10-29 4:30 ` [RFC v4+ hot_track 11/19] vfs: register one shrinker zwu.kernel
2012-10-29 4:30 ` [RFC v4+ hot_track 12/19] vfs: add one ioctl interface zwu.kernel
2012-11-06 23:30 ` David Sterba
2012-11-07 7:36 ` Zhi Yong Wu
2012-10-29 4:30 ` [RFC v4+ hot_track 13/19] debugfs: introduce one function zwu.kernel
2012-10-29 18:11 ` Greg KH
2012-10-29 22:25 ` Zhi Yong Wu
2012-10-29 22:34 ` Greg KH
2012-10-29 22:45 ` Zhi Yong Wu
2012-10-29 22:54 ` Greg KH
2012-10-29 22:58 ` Zhi Yong Wu
2012-10-29 4:30 ` [RFC v4+ hot_track 14/19] vfs: add debugfs support zwu.kernel
2012-11-06 23:45 ` David Sterba
2012-11-07 7:49 ` Zhi Yong Wu
2012-10-29 4:30 ` [RFC v4+ hot_track 15/19] sysfs: add two hot_track proc files zwu.kernel
2012-10-29 18:10 ` Greg KH
2012-10-29 22:26 ` Zhi Yong Wu
2012-10-29 4:30 ` [RFC v4+ hot_track 16/19] btrfs: add hot tracking support zwu.kernel
2012-11-07 0:00 ` David Sterba
2012-11-07 8:03 ` Zhi Yong Wu
2012-10-29 4:30 ` [RFC v4+ hot_track 17/19] xfs: " zwu.kernel
2012-10-29 4:31 ` [RFC v4+ hot_track 18/19] ext4: " zwu.kernel
2012-10-29 4:31 ` [RFC v4+ hot_track 19/19] vfs: add documentation zwu.kernel
2012-10-29 10:30 ` [RFC v4+ hot_track 00/19] vfs: hot data tracking Andi Kleen
2012-10-29 12:31 ` Zhi Yong Wu
2012-11-07 8:51 ` Zhi Yong Wu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1351485061-12297-1-git-send-email-zwu.kernel@gmail.com \
--to=zwu.kernel@gmail.com \
--cc=cmm@us.ibm.com \
--cc=david@fromorbit.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxram@linux.vnet.ibm.com \
--cc=tytso@mit.edu \
--cc=viro@zeniv.linux.org.uk \
--cc=wenqing.lz@taobao.com \
--cc=wuzhy@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).