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, dave@jikos.cz,
tytso@mit.edu, cmm@us.ibm.com,
Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>
Subject: [RFC v3 00/13] vfs: hot data tracking
Date: Wed, 10 Oct 2012 18:07:22 +0800 [thread overview]
Message-ID: <1349863655-29320-1-git-send-email-zwu.kernel@gmail.com> (raw)
From: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>
NOTE:
The patchset is currently post out mainly to make sure
it is going in the correct direction and hope to get some
helpful comments from other guys.
For more infomation, please check hot_tracking.txt in Documentation
TODO List:
1.) Need to do scalability or performance tests.
2.) Turn some Micro into be tunable
TIME_TO_KICK, and HEAT_UPDATE_DELAY
3.) Rafactor hot_hash_is_aging()
If you just made the timeout value a timespec and compared
the _timespecs_, you would be doing a lot fewer conversions.
4.) Cleanup some unnecessary lock protect
5.) Add more comments to explain how to calc temperature
How to "read" the avg read/write time (nanoseconds,
microseconds, jiffies....??)
6.) Make updating tempreture more parallel
7.) How to save the file tempreture among the umount to be able to
preserve the file tempreture after reboot
8.) Add one new ioctl inteface to set temperature value.
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 v2:
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]
v1:
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 (13):
btrfs: add one new mount option '-o hot_track'
vfs: introduce private radix tree structures
vfs: Initialize and free main data structures
vfs: add function for collecting raw access info
vfs: add two map arrays
vfs: add hooks to enable hot data tracking
vfs: add function for updating map arrays
vfs: add aging function for old map info
vfs: add one wq to update map info periodically
vfs: register one memory shrinker
vfs: add 3 new ioctl interfaces
vfs: add debugfs support
vfs: add documentation
Documentation/filesystems/00-INDEX | 2 +
Documentation/filesystems/hot_tracking.txt | 165 ++++
fs/Makefile | 2 +-
fs/btrfs/ctree.h | 1 +
fs/btrfs/super.c | 15 +-
fs/compat_ioctl.c | 9 +
fs/direct-io.c | 8 +
fs/hot_tracking.c | 1321 ++++++++++++++++++++++++++++
fs/hot_tracking.h | 155 ++++
fs/ioctl.c | 122 +++
include/linux/fs.h | 4 +
include/linux/hot_tracking.h | 123 +++
mm/filemap.c | 7 +
mm/page-writeback.c | 13 +
mm/readahead.c | 7 +
15 files changed, 1952 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.6.5
next reply other threads:[~2012-10-10 10:07 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-10 10:07 zwu.kernel [this message]
2012-10-10 10:07 ` [RFC v3 01/13] btrfs: add one new mount option '-o hot_track' zwu.kernel
[not found] ` <5075632c.03cc440a.1b33.7805SMTPIN_ADDED@mx.google.com>
2012-10-10 12:21 ` Zhi Yong Wu
2012-10-10 13:11 ` Lukáš Czerner
2012-10-10 13:16 ` Zhi Yong Wu
2012-10-10 16:28 ` David Sterba
2012-10-11 13:41 ` Zhi Yong Wu
2012-10-11 14:35 ` Zhi Yong Wu
2012-10-11 14:41 ` David Sterba
2012-10-11 14:46 ` Zhi Yong Wu
2012-10-10 10:07 ` [RFC v3 02/13] vfs: introduce private radix tree structures zwu.kernel
2012-10-10 15:34 ` David Sterba
2012-10-11 13:35 ` Zhi Yong Wu
2012-10-10 10:07 ` [RFC v3 03/13] vfs: Initialize and free main data structures zwu.kernel
2012-10-10 10:07 ` [RFC v3 04/13] vfs: add function for collecting raw access info zwu.kernel
2012-10-10 10:07 ` [RFC v3 05/13] vfs: add two map arrays zwu.kernel
2012-10-10 10:07 ` [RFC v3 06/13] vfs: add hooks to enable hot data tracking zwu.kernel
2012-10-10 10:07 ` [RFC v3 07/13] vfs: add function for updating map arrays zwu.kernel
2012-10-10 10:07 ` [RFC v3 08/13] vfs: add aging function for old map info zwu.kernel
2012-10-10 10:07 ` [RFC v3 09/13] vfs: add one wq to update map info periodically zwu.kernel
2012-10-16 0:27 ` Dave Chinner
2012-10-17 6:34 ` Zhi Yong Wu
2012-10-18 2:25 ` Zheng Liu
2012-10-18 2:26 ` Zhi Yong Wu
2012-10-10 10:07 ` [RFC v3 10/13] vfs: register one memory shrinker zwu.kernel
2012-10-10 10:07 ` [RFC v3 11/13] vfs: add 3 new ioctl interfaces zwu.kernel
2012-10-15 7:48 ` Dave Chinner
2012-10-15 7:57 ` Zhi Yong Wu
2012-10-16 3:17 ` Dave Chinner
2012-10-16 4:18 ` Zhi Yong Wu
2012-10-19 8:21 ` Zhi Yong Wu
2012-10-10 10:07 ` [RFC v3 12/13] vfs: add debugfs support zwu.kernel
2012-10-10 16:53 ` David Sterba
2012-10-10 21:05 ` David Sterba
2012-10-15 7:55 ` Dave Chinner
2012-10-15 8:15 ` Zhi Yong Wu
2012-10-15 8:04 ` Dave Chinner
2012-10-15 8:47 ` Zhi Yong Wu
2012-10-10 10:07 ` [RFC v3 13/13] vfs: add documentation zwu.kernel
2012-10-15 0:35 ` Zheng Liu
2012-10-15 7:04 ` Zhi Yong Wu
2012-10-15 0:39 ` [RFC v3 00/13] vfs: hot data tracking Zheng Liu
2012-10-15 7:05 ` Zhi Yong Wu
2012-10-15 20:42 ` Dave Chinner
2012-10-17 8:57 ` Zhi Yong Wu
2012-10-18 4:29 ` Dave Chinner
2012-10-18 4:44 ` Zhi Yong Wu
2012-10-18 5:17 ` Dave Chinner
2012-10-18 5:24 ` Zhi Yong Wu
2012-10-19 8:29 ` Zhi Yong Wu
2012-10-16 0:04 ` [PATCH] xfs: add hot tracking support Dave Chinner
2012-11-07 8:38 ` Zhi Yong Wu
2012-11-08 5:13 ` Dave Chinner
2012-10-16 0:11 ` [RFC v3 00/13] vfs: hot data tracking Dave Chinner
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=1349863655-29320-1-git-send-email-zwu.kernel@gmail.com \
--to=zwu.kernel@gmail.com \
--cc=cmm@us.ibm.com \
--cc=dave@jikos.cz \
--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=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).