[PATCH] ext4: remove some unused code lines

2012-11-29 Thread zwu . kernel
From: Zhi Yong Wu Signed-off-by: Zhi Yong Wu --- fs/ext4/extents.c |2 -- 1 files changed, 0 insertions(+), 2 deletions(-) diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c index 7011ac9..43ec639 100644 --- a/fs/ext4/extents.c +++ b/fs/ext4/extents.c @@ -2156,7 +2156,6 @@ ext4_ext_in_cach

[PATCH 1/2] btrfs: Cleanup some redundant codes in btrfs_lookup_csums_range()

2013-03-18 Thread zwu . kernel
From: Zhi Yong Wu Signed-off-by: Zhi Yong Wu --- fs/btrfs/file-item.c | 7 ++- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/fs/btrfs/file-item.c b/fs/btrfs/file-item.c index ec16020..1ba85b4 100644 --- a/fs/btrfs/file-item.c +++ b/fs/btrfs/file-item.c @@ -356,11 +356,8 @@ i

[PATCH 2/2] btrfs: Cleanup some redundant codes in btrfs_log_inode()

2013-03-18 Thread zwu . kernel
From: Zhi Yong Wu Signed-off-by: Zhi Yong Wu --- fs/btrfs/tree-log.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c index 451fad9..83d4e1d 100644 --- a/fs/btrfs/tree-log.c +++ b/fs/btrfs/tree-log.c @@ -3614,8 +3614,6 @@ static int btrfs_log_inode(

[PATCH] btrfs-progs: fix one bracket issue in mkfs.btrfs manpage

2013-03-21 Thread zwu . kernel
From: Zhi Yong Wu In "[ \fB\-f\fP\fI ]", the "\fI" will result in the front half "["of "[ -f ]" doesn't the back half "]"; When you issue the command "man mkfs.btrfs", you will see the difference. Signed-off-by: Zhi Yong Wu --- man/mkfs.btrfs.8.in | 2 +- 1 file changed, 1 insertion(+), 1 de

[PATCH] btrfs-progs: add missing qgroup synopsis in btrfs

2013-03-21 Thread zwu . kernel
From: Zhi Yong Wu Signed-off-by: Zhi Yong Wu --- man/btrfs.8.in | 37 + 1 file changed, 37 insertions(+) diff --git a/man/btrfs.8.in b/man/btrfs.8.in index 94f4ffe..54de60e 100644 --- a/man/btrfs.8.in +++ b/man/btrfs.8.in @@ -60,6 +60,18 @@ btrfs \- control

[RFC 01/11] vfs: introduce one structure hot_info

2012-09-11 Thread zwu . kernel
From: Zhi Yong Wu One root structure hot_info is defined, is hooked up in super_block, and will be used to hold rb trees root, hash list root and some other information, etc. Signed-off-by: Zhi Yong Wu --- include/linux/fs.h|4 include/linux/hot_track.h | 26 +

[RFC 04/11] vfs: add support for updating access frequency

2012-09-11 Thread zwu . kernel
From: Zhi Yong Wu Add some utils helpers to update access frequencies for one file or its range. Signed-off-by: Zhi Yong Wu --- fs/hot_rb.c | 359 +++ fs/hot_rb.h | 28 + 2 files changed, 387 insertions(+), 0 deletions(-) diff -

[RFC 02/11] vfs: introduce one rb tree - hot_inode_tree

2012-09-11 Thread zwu . kernel
From: Zhi Yong Wu Adds hot_inode_tree struct to keep track of frequently accessed files, and be keyed by {inode, offset}. Trees contain hot_inode_items representing those files and ranges. Having these trees means that vfs can quickly determine the temperature of some data by doing some calcu

[RFC 05/11] vfs: add one new mount option -o hottrack

2012-09-11 Thread zwu . kernel
From: Zhi Yong Wu Introduce one new mount option '-o hottrack', and add its parsing support. Its usage looks like: mount -o hottrack mount -o nouser,hottrack mount -o nouser,hottrack,loop mount -o hottrack,nouser Signed-off-by: Zhi Yong Wu --- fs/hot_track.c| 34 +

[RFC 00/11] VFS: hot data tracking

2012-09-11 Thread zwu . kernel
From: Zhi Yong Wu HI, folks I have pushed the patchset to my kernel dev git tree: g...@github.com:wuzhy/kernel.git Also, you can review it via https://github.com/wuzhy/kernel/commits/hottrack NOTE: The patchset still has a lot of bugfix and cleanup to do. It is post out mainly to make sure

[RFC 08/11] vfs: enable hot data tracking

2012-09-11 Thread zwu . kernel
From: Zhi Yong Wu Miscellaneous features that implement hot data tracking and generally make the hot data functions a bit more friendly. Signed-off-by: Zhi Yong Wu --- fs/direct-io.c| 10 ++ include/linux/hot_track.h | 11 +++ mm/filemap.c |8

[RFC 03/11] vfs: introduce 2 rb tree items - inode and range

2012-09-11 Thread zwu . kernel
From: Zhi Yong Wu Define two items hot_inode_item and hot_range_item, one of them represents one tracked file to keep track of its access frequency and the tree of ranges in this file, while the latter represents a file range of one inode. Each of the two structures contains a hot_freq_data s

[RFC 09/11] vfs: fork one private kthread to update temperature info

2012-09-11 Thread zwu . kernel
From: Zhi Yong Wu Fork and run one kernel kthread to calculate that temperature based on some metrics kept in custom frequency data structs, and store the info in the hash table. Signed-off-by: Zhi Yong Wu --- fs/hot_hash.c | 316 + fs

[RFC 10/11] vfs: add 3 new ioctl interfaces

2012-09-11 Thread zwu . kernel
From: Zhi Yong Wu FS_IOC_GET_HEAT_INFO: return a struct containing the various metrics collected in btrfs_freq_data structs, and also return a calculated data temperature based on those metrics. Optionally, retrieve the temperature from the hot data hash list instead of recalculating it. FS_

[RFC 11/11] vfs: add debugfs support

2012-09-11 Thread zwu . kernel
From: Zhi Yong Wu Add a /sys/kernel/debug/hot_track// directory for each volume that contains two files. The first, `inode_data', contains the heat information for inodes that have been brought into the hot data map structures. The second, `range_data', contains similar information for subfile

[RFC 07/11] vfs: introduce one hash table

2012-09-11 Thread zwu . kernel
From: Zhi Yong Wu Adds a hash table structure which contains a lot of hash list and is used to efficiently look up the data temperature of a file or its ranges. In each hash list of hash table, the hash node will keep track of temperature info. Signed-off-by: Zhi Yong Wu --- fs/Makefile

[RFC v4 00/15] vfs: hot data tracking

2012-10-25 Thread zwu . kernel
From: Zhi Yong Wu NOTE: The patchset can be obtained via my kernel dev git on github: g...@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 infomation, please check hot_tracking.tx

[RFC v4 03/15] vfs,hot_track: add the function for collecting I/O frequency

2012-10-25 Thread zwu . kernel
From: Zhi Yong Wu Add some utils helpers to update access frequencies for one file or its range. Signed-off-by: Zhi Yong Wu --- fs/hot_tracking.c| 191 ++ fs/hot_tracking.h|9 ++ include/linux/hot_tracking.h |2 + 3 fil

[RFC v4 01/15] vfs,hot_track: introduce private radix tree structures

2012-10-25 Thread zwu . kernel
From: Zhi Yong Wu One root structure hot_info is defined, is hooked up in super_block, and will be used to hold radix tree root, hash list root and some other information, etc. Adds hot_inode_tree struct to keep track of frequently accessed files, and be keyed by {inode, offset}. Trees contai

[RFC v4 07/15] vfs,hot_track: add the aging function

2012-10-25 Thread zwu . kernel
From: Zhi Yong Wu Signed-off-by: Zhi Yong Wu --- fs/hot_tracking.c | 56 + fs/hot_tracking.h |6 + 2 files changed, 62 insertions(+), 0 deletions(-) diff --git a/fs/hot_tracking.c b/fs/hot_tracking.c index 05624ad..575cd3a 100644 --

[RFC v4 06/15] vfs,hot_track: add the function for updating map arrays

2012-10-25 Thread zwu . kernel
From: Zhi Yong Wu Signed-off-by: Zhi Yong Wu --- fs/hot_tracking.c | 164 + fs/hot_tracking.h | 54 + 2 files changed, 218 insertions(+), 0 deletions(-) diff --git a/fs/hot_tracking.c b/fs/hot_tracking.c index b5568bc..0562

[RFC v4 04/15] vfs,hot_track: add two map arrays

2012-10-25 Thread zwu . kernel
From: Zhi Yong Wu Adds two map arrays which contains a lot of list and is used to efficiently look up the data temperature of a file or its ranges. In each list of map arrays, the array node will keep track of temperature info. Signed-off-by: Zhi Yong Wu --- fs/hot_tracking.c|

[RFC v4 09/15] vfs,hot_track: register one memory shrinker

2012-10-25 Thread zwu . kernel
From: Zhi Yong Wu Register a shrinker to control the amount of memory that is used in tracking hot regions - if we are throwing inodes out of memory due to memory pressure, we most definitely are going to need to reduce the amount of memory the tracking code is using, even if it means losing us

[RFC v4 10/15] vfs,hot_track: add one new ioctl interface

2012-10-25 Thread zwu . kernel
From: Zhi Yong Wu FS_IOC_GET_HEAT_INFO: return a struct containing the various metrics collected in hot_freq_data structs, and also return a calculated data temperature based on those metrics. Optionally, retrieve the temperature from the hot data hash list instead of recalculating it. Signed-

[RFC v4 11/15] vfs,hot_track: add debugfs support

2012-10-25 Thread zwu . kernel
From: Zhi Yong Wu Add a /sys/kernel/debug/hot_track// directory for each volume that contains two files. The first, `inode_stats', contains the heat information for inodes that have been brought into the hot data map structures. The second, `range_stats', contains similar information for subfil

[RFC v4 14/15] xfs: add hot tracking support

2012-10-25 Thread zwu . kernel
From: Dave Chinner Connect up the VFS hot tracking support so XFS filesystems can make use of it. Signed-off-by: Dave Chinner --- fs/xfs/xfs_mount.h |1 + fs/xfs/xfs_super.c | 16 2 files changed, 17 insertions(+), 0 deletions(-) diff --git a/fs/xfs/xfs_mount.h b/fs/x

[RFC v4 15/15] vfs,hot_track: add the documentation

2012-10-25 Thread zwu . kernel
From: Zhi Yong Wu Signed-off-by: Zhi Yong Wu --- Documentation/filesystems/00-INDEX |2 + Documentation/filesystems/hot_tracking.txt | 164 2 files changed, 166 insertions(+), 0 deletions(-) create mode 100644 Documentation/filesystems/hot_tracking.txt

[RFC v4 12/15] vfs,hot_track: turn some Micro into be tunable

2012-10-25 Thread zwu . kernel
From: Zhi Yong Wu Turn TIME_TO_KICK and HEAT_UPDATE_DELAY into be tunable via /proc/sys/fs/hot-kick-time and /proc/sys/fs/hot-update-delay. Signed-off-by: Zhi Yong Wu --- fs/hot_tracking.c| 12 +--- fs/hot_tracking.h|9 - include/linux/hot_tracki

[RFC v4 13/15] btrfs: add hot tracking support

2012-10-25 Thread zwu . kernel
From: Zhi Yong Wu Introduce one new mount option '-o hot_track', and add its parsing support. Its usage looks like: mount -o hot_track mount -o nouser,hot_track mount -o nouser,hot_track,loop mount -o hot_track,nouser Signed-off-by: Zhi Yong Wu --- fs/btrfs/ctree.h |1 + fs

[RFC v4 05/15] vfs,hot_track: add hooks to enable hot data tracking

2012-10-25 Thread zwu . kernel
From: Zhi Yong Wu Miscellaneous features that implement hot data tracking and generally make the hot data functions a bit more friendly. Signed-off-by: Zhi Yong Wu --- fs/direct-io.c |6 ++ mm/filemap.c|6 ++ mm/page-writeback.c | 12 mm/readahead.

[RFC v4 02/15] vfs,hot_track: initialize and free key data structures

2012-10-25 Thread zwu . kernel
From: Zhi Yong Wu Add initialization function to create some key data structures when hot tracking is enabled; Clean up them when hot tracking is disabled Signed-off-by: Zhi Yong Wu --- fs/hot_tracking.c| 125 ++ include/linux/fs.h

[RFC v4 08/15] vfs,hot_track: add one work queue

2012-10-25 Thread zwu . kernel
From: Zhi Yong Wu Add a per-superblock workqueue and a work_struct to run periodic work to update map info on each superblock. Signed-off-by: Zhi Yong Wu --- fs/hot_tracking.c| 85 ++ fs/hot_tracking.h|3 + include/linux/h

[RFC v2 00/10] vfs: hot data tracking

2012-09-23 Thread zwu . kernel
From: Zhi Yong Wu 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 performan

[RFC v2 08/10] vfs: add 3 new ioctl interfaces

2012-09-23 Thread zwu . kernel
From: Zhi Yong Wu FS_IOC_GET_HEAT_INFO: return a struct containing the various metrics collected in btrfs_freq_data structs, and also return a calculated data temperature based on those metrics. Optionally, retrieve the temperature from the hot data hash list instead of recalculating it. FS_

[RFC v2 09/10] vfs: add debugfs support

2012-09-23 Thread zwu . kernel
From: Zhi Yong Wu Add a /sys/kernel/debug/hot_track// directory for each volume that contains two files. The first, `inode_data', contains the heat information for inodes that have been brought into the hot data map structures. The second, `range_data', contains similar information for subfile

[RFC v2 03/10] vfs: add one new mount option '-o hottrack'

2012-09-23 Thread zwu . kernel
From: Zhi Yong Wu Introduce one new mount option '-o hottrack', and add its parsing support. Its usage looks like: mount -o hottrack mount -o nouser,hottrack mount -o nouser,hottrack,loop mount -o hottrack,nouser Signed-off-by: Zhi Yong Wu --- fs/hot_tracking.c| 3

[RFC v2 04/10] vfs: add init and exit support

2012-09-23 Thread zwu . kernel
From: Zhi Yong Wu Add initialization function to create some key data structures when hot tracking is enabled; Clean up them when hot tracking is disabled Signed-off-by: Zhi Yong Wu --- fs/hot_tracking.c | 60 + fs/hot_tracking.h |2 +

[RFC v2 05/10] vfs: introduce one hash table

2012-09-23 Thread zwu . kernel
From: Zhi Yong Wu Adds a hash table structure which contains a lot of hash list and is used to efficiently look up the data temperature of a file or its ranges. In each hash list of hash table, the hash node will keep track of temperature info. Signed-off-by: Zhi Yong Wu --- fs/hot_trackin

[RFC v2 07/10] vfs: fork one kthread to update data temperature

2012-09-23 Thread zwu . kernel
From: Zhi Yong Wu Fork and run one kernel kthread to calculate that temperature based on some metrics kept in custom frequency data structs, and store the info in the hash table. Signed-off-by: Zhi Yong Wu --- fs/hot_tracking.c| 467 +- fs

[RFC v2 06/10] vfs: enable hot data tracking

2012-09-23 Thread zwu . kernel
From: Zhi Yong Wu Miscellaneous features that implement hot data tracking and generally make the hot data functions a bit more friendly. Signed-off-by: Zhi Yong Wu --- fs/direct-io.c | 10 ++ include/linux/hot_tracking.h | 11 +++ mm/filemap.c

[RFC v2 01/10] vfs: introduce private rb structures

2012-09-23 Thread zwu . kernel
From: Zhi Yong Wu One root structure hot_info is defined, is hooked up in super_block, and will be used to hold rb trees root, hash list root and some other information, etc. Adds hot_inode_tree struct to keep track of frequently accessed files, and be keyed by {inode, offset}. Trees contain

[RFC v2 10/10] vfs: add documentation

2012-09-23 Thread zwu . kernel
From: Zhi Yong Wu Signed-off-by: Zhi Yong Wu --- Documentation/filesystems/hot_tracking.txt | 106 1 files changed, 106 insertions(+), 0 deletions(-) create mode 100644 Documentation/filesystems/hot_tracking.txt diff --git a/Documentation/filesystems/hot_tracking

[RFC v2 02/10] vfs: add support for updating access frequency

2012-09-23 Thread zwu . kernel
From: Zhi Yong Wu Add some utils helpers to update access frequencies for one file or its range. Signed-off-by: Zhi Yong Wu --- fs/hot_tracking.c | 359 + fs/hot_tracking.h | 15 +++ 2 files changed, 374 insertions(+), 0 deletions(-) di

[PATCH v2 1/2] btrfs-progs: Close file descriptor on exit

2012-09-24 Thread zwu . kernel
From: Zhi Yong Wu Need to close fd on exit. Signed-off-by: Zhi Yong Wu --- cmds-filesystem.c | 10 -- 1 files changed, 8 insertions(+), 2 deletions(-) diff --git a/cmds-filesystem.c b/cmds-filesystem.c index b1457de..e62c4fd 100644 --- a/cmds-filesystem.c +++ b/cmds-filesystem.c @

[PATCH v2 2/2] btrfs-progs: Fix up memory leakage

2012-09-24 Thread zwu . kernel
From: Zhi Yong Wu Some code pathes forget to free memory on exit. Changelog from v1: Fix the variable is used uncorrectly. [Ram Pai] Signed-off-by: Zhi Yong Wu --- cmds-filesystem.c |6 -- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/cmds-filesystem.c b/cmds-file

[resend][PATCH v2 0/2] btrfs-progs: some bugfixes

2012-09-24 Thread zwu . kernel
From: Zhi Yong Wu Some misc bugs are found when i work on other tasks. Now send out them for interview, thanks. Zhi Yong Wu (2): btrfs-progs: Close file descriptor on exit btrfs-progs: Fix up memory leakage cmds-filesystem.c | 16 1 files changed, 12 insertions(+), 4 d

[RFC v4+ hot_track 00/19] vfs: hot data tracking

2012-10-28 Thread zwu . kernel
From: Zhi Yong Wu NOTE: The patchset can be obtained via my kernel dev git on github: g...@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 D

[RFC v4+ hot_track 02/19] vfs: initialize and free data structures

2012-10-28 Thread zwu . kernel
From: Zhi Yong Wu Add initialization function to create some key data structures when hot tracking is enabled; Clean up them when hot tracking is disabled Signed-off-by: Zhi Yong Wu --- fs/hot_tracking.c| 124 ++ fs/hot_tracking.h

[RFC v4+ hot_track 03/19] vfs: add I/O frequency update function

2012-10-28 Thread zwu . kernel
From: Zhi Yong Wu Add some util helpers to update access frequencies for one file or its range. Signed-off-by: Zhi Yong Wu --- fs/hot_tracking.c| 179 ++ fs/hot_tracking.h|7 ++ include/linux/hot_tracking.h |2 + 3 file

[RFC v4+ hot_track 04/19] vfs: add two map arrays

2012-10-28 Thread zwu . kernel
From: Zhi Yong Wu Adds two map arrays which contains a lot of list and is used to efficiently look up the data temperature of a file or its ranges. In each list of map arrays, the array node will keep track of temperature info. Signed-off-by: Zhi Yong Wu --- fs/hot_tracking.c|

[RFC v4+ hot_track 06/19] vfs: add temp calculation function

2012-10-28 Thread zwu . kernel
From: Zhi Yong Wu Signed-off-by: Zhi Yong Wu --- fs/hot_tracking.c | 74 + 1 files changed, 74 insertions(+), 0 deletions(-) diff --git a/fs/hot_tracking.c b/fs/hot_tracking.c index 0a603a1..83e590c 100644 --- a/fs/hot_tracking.c +++ b/fs/h

[RFC v4+ hot_track 07/19] vfs: add map info update function

2012-10-28 Thread zwu . kernel
From: Zhi Yong Wu Signed-off-by: Zhi Yong Wu --- fs/hot_tracking.c | 66 + fs/hot_tracking.h | 21 + 2 files changed, 87 insertions(+), 0 deletions(-) diff --git a/fs/hot_tracking.c b/fs/hot_tracking.c index 83e590c..9245d

[RFC v4+ hot_track 10/19] vfs: introduce hot func register framework

2012-10-28 Thread zwu . kernel
From: Zhi Yong Wu Introduce one framwork to enable that specific FS can register its own hot tracking functions. Signed-off-by: Zhi Yong Wu --- fs/hot_tracking.c| 78 ++ include/linux/hot_tracking.h | 25 + 2 files changed,

[RFC v4+ hot_track 12/19] vfs: add one ioctl interface

2012-10-28 Thread zwu . kernel
From: Zhi Yong Wu FS_IOC_GET_HEAT_INFO: return a struct containing the various metrics collected in hot_freq_data structs, and also return a calculated data temperature based on those metrics. Optionally, retrieve the temperature from the hot data hash list instead of recalculating it. Signed-

[RFC v4+ hot_track 16/19] btrfs: add hot tracking support

2012-10-28 Thread zwu . kernel
From: Zhi Yong Wu Introduce one new mount option '-o hot_track', and add its parsing support. Its usage looks like: mount -o hot_track mount -o nouser,hot_track mount -o nouser,hot_track,loop mount -o hot_track,nouser Signed-off-by: Zhi Yong Wu --- fs/btrfs/ctree.h |1 + fs

[RFC v4+ hot_track 18/19] ext4: add hot tracking support

2012-10-28 Thread zwu . kernel
From: Zheng Liu Define a new mount option to add VFS hot tracking support in order to use it in ext4. CC: Zhi Yong Wu Signed-off-by: Zheng Liu --- fs/ext4/ext4.h |3 +++ fs/ext4/super.c | 13 - 2 files changed, 15 insertions(+), 1 deletions(-) diff --git a/fs/ext4/ext4.h

[RFC v4+ hot_track 13/19] debugfs: introduce one function

2012-10-28 Thread zwu . kernel
From: Zhi Yong Wu The debugfs function is used to get expected dentry. Signed-off-by: Zhi Yong Wu --- fs/debugfs/inode.c | 26 ++ include/linux/debugfs.h |9 + 2 files changed, 35 insertions(+), 0 deletions(-) diff --git a/fs/debugfs/inode.c b/fs/d

[RFC v4+ hot_track 19/19] vfs: add documentation

2012-10-28 Thread zwu . kernel
From: Zhi Yong Wu Add one doc for VFS hot tracking feature Signed-off-by: Zhi Yong Wu --- Documentation/filesystems/00-INDEX |2 + Documentation/filesystems/hot_tracking.txt | 262 2 files changed, 264 insertions(+), 0 deletions(-) create mode 10064

[RFC v4+ hot_track 11/19] vfs: register one shrinker

2012-10-28 Thread zwu . kernel
From: Zhi Yong Wu Register a shrinker to control the amount of memory that is used in tracking hot regions - if we are throwing inodes out of memory due to memory pressure, we most definitely are going to need to reduce the amount of memory the tracking code is using, even if it means losing us

[RFC v4+ hot_track 15/19] sysfs: add two hot_track proc files

2012-10-28 Thread zwu . kernel
From: Zhi Yong Wu Add two proc files hot-kick-time and hot-update-delay under the dir /proc/sys/fs/ in order to turn TIME_TO_KICK and HEAT_UPDATE_DELAY into be tunable. Signed-off-by: Zhi Yong Wu --- fs/hot_tracking.c| 12 +--- fs/hot_tracking.h|9 --

[RFC v4+ hot_track 17/19] xfs: add hot tracking support

2012-10-28 Thread zwu . kernel
From: Dave Chinner Connect up the VFS hot tracking support so XFS filesystems can make use of it. Signed-off-by: Dave Chinner --- fs/xfs/xfs_mount.h |1 + fs/xfs/xfs_super.c | 16 2 files changed, 17 insertions(+), 0 deletions(-) diff --git a/fs/xfs/xfs_mount.h b/fs/x

[RFC v4+ hot_track 14/19] vfs: add debugfs support

2012-10-28 Thread zwu . kernel
From: Zhi Yong Wu Add a /sys/kernel/debug/hot_track// directory for each volume that contains two files. The first, `inode_stats', contains the heat information for inodes that have been brought into the hot data map structures. The second, `range_stats', contains similar information for subfil

[RFC v4+ hot_track 09/19] vfs: add one work queue

2012-10-28 Thread zwu . kernel
From: Zhi Yong Wu Add a per-superblock workqueue and a delayed_work to run periodic work to update map info on each superblock. Signed-off-by: Zhi Yong Wu --- fs/hot_tracking.c| 85 ++ fs/hot_tracking.h|3 + include/linux/

[RFC v4+ hot_track 08/19] vfs: add aging function

2012-10-28 Thread zwu . kernel
From: Zhi Yong Wu Signed-off-by: Zhi Yong Wu --- fs/hot_tracking.c | 56 + fs/hot_tracking.h |6 + 2 files changed, 62 insertions(+), 0 deletions(-) diff --git a/fs/hot_tracking.c b/fs/hot_tracking.c index 9245dd3..fff0038 100644 --

[RFC v4+ hot_track 05/19] vfs: add hooks to enable hot tracking

2012-10-28 Thread zwu . kernel
From: Zhi Yong Wu Miscellaneous features that implement hot data tracking and generally make the hot data functions a bit more friendly. Signed-off-by: Zhi Yong Wu --- fs/direct-io.c |6 ++ mm/filemap.c|6 ++ mm/page-writeback.c | 12 mm/readahead.

[RFC v4+ hot_track 01/19] vfs: introduce private radix tree structures

2012-10-28 Thread zwu . kernel
From: Zhi Yong Wu One root structure hot_info is defined, is hooked up in super_block, and will be used to hold radix tree root, hash list root and some other information, etc. Adds hot_inode_tree struct to keep track of frequently accessed files, and be keyed by {inode, offset}. Trees contai

[PATCH v5 01/10] VFS hot tracking: Define basic data structures and functions

2013-09-16 Thread zwu . kernel
From: Zhi Yong Wu This patch includes the basic data structure and functions needed for VFS hot tracking. It adds hot_inode_tree struct to keep track of frequently accessed files, and is keyed by {inode, offset}. Trees contain hot_inode_items representing those files and hot_range_items represen

[PATCH v5 00/10] VFS hot tracking

2013-09-16 Thread zwu . kernel
From: Zhi Yong Wu 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

[PATCH v5 06/10] VFS hot tracking: Add a /proc interface to make the interval tunable

2013-09-16 Thread zwu . kernel
From: Zhi Yong Wu Add a proc interface hot-update-interval under the dir /proc/sys/fs/ in order to turn HOT_UPDATE_INTERVAL into a tunable parameter. Signed-off-by: Chandra Seetharaman Signed-off-by: Zhi Yong Wu --- fs/hot_tracking.c| 7 +-- fs/hot_tracking.h| 2 --

[PATCH v5 09/10] VFS hot tracking, btrfs: Add hot tracking support

2013-09-16 Thread zwu . kernel
From: Zhi Yong Wu Introduce one new mount option '-o hot_track', and add its parsing support. Its usage looks like: mount -o hot_track mount -o nouser,hot_track mount -o nouser,hot_track,loop mount -o hot_track,nouser Reviewed-by: David Sterba Signed-off-by: Chandra Seetharaman Si

[PATCH v5 07/10] VFS hot tracking: Add a /proc interface to control memory usage

2013-09-16 Thread zwu . kernel
From: Zhi Yong Wu Introduce a /proc interface hot-mem-high-thresh and to cap the memory which is consumed by hot_inode_item and hot_range_item, and they will be in the unit of 1M bytes. Signed-off-by: Chandra Seetharaman Signed-off-by: Zhi Yong Wu --- fs/hot_tracking.c| 31 +++

[PATCH v5 10/10] VFS hot tracking, xfs: Add hot tracking support

2013-09-16 Thread zwu . kernel
From: Dave Chinner Connect up the VFS hot tracking support so XFS filesystem can make use of it. Signed-off-by: Dave Chinner Signed-off-by: Zhi Yong Wu --- fs/xfs/xfs_mount.h | 1 + fs/xfs/xfs_super.c | 18 ++ 2 files changed, 19 insertions(+) diff --git a/fs/xfs/xfs_mount.h

[PATCH v5 05/10] VFS hot tracking: Add an ioctl to get hot tracking information

2013-09-16 Thread zwu . kernel
From: Zhi Yong Wu FS_IOC_GET_HEAT_INFO: return a struct containing the various metrics collected in hot_freq_data structs, and also return a calculated data temperature based on those metrics. Optionally, retrieve the temperature from the hot data hash list instead of recalculating it. Signed-o

[PATCH v5 02/10] VFS hot tracking: Track IO and record heat information

2013-09-16 Thread zwu . kernel
From: Zhi Yong Wu This patch adds read/write code paths: include read_pages(), do_writepages(), do_generic_file_read() and __blockdev_direct_IO() to record heat information. When real disk i/o for an inode is done, its own hot_inode_item will be created or updated in the RB tree for the filesyst

[PATCH v5 08/10] VFS hot tracking: Add documentation

2013-09-16 Thread zwu . kernel
From: Zhi Yong Wu Add Documentation for VFS hot tracking feature Signed-off-by: Chandra Seetharaman Signed-off-by: Zhi Yong Wu --- Documentation/filesystems/00-INDEX | 2 + Documentation/filesystems/hot_tracking.txt | 207 + 2 files changed, 209 insertion

[PATCH v5 04/10] VFS hot tracking: Add shrinker functionality to curtail memory usage

2013-09-16 Thread zwu . kernel
From: Zhi Yong Wu Register a shrinker to control the amount of memory that is used in tracking hot regions. If we are throwing inodes out of memory due to memory pressure, we most definitely are going to need to reduce the amount of memory the tracking code is using, even if it means losing usefu

[PATCH v5 03/10] VFS hot tracking: Add a workqueue to move items between hot maps

2013-09-16 Thread zwu . kernel
From: Zhi Yong Wu Add a workqueue per superblock and a delayed_work to run periodic work to update map info on each superblock. Two arrays of map list are defined, one is for hot inode items, and the other is for hot extent items. The hot items in the RB-tree will be at first distilled into one

[RFC v3 01/13] btrfs: add one new mount option '-o hot_track'

2012-10-10 Thread zwu . kernel
From: Zhi Yong Wu Introduce one new mount option '-o hot_track', and add its parsing support. Its usage looks like: mount -o hot_track mount -o nouser,hot_track mount -o nouser,hot_track,loop mount -o hot_track,nouser Signed-off-by: Zhi Yong Wu --- fs/btrfs/ctree.h |1 + fs/b

[RFC v3 03/13] vfs: Initialize and free main data structures

2012-10-10 Thread zwu . kernel
From: Zhi Yong Wu Add initialization function to create some key data structures when hot tracking is enabled; Clean up them when hot tracking is disabled Signed-off-by: Zhi Yong Wu --- fs/btrfs/super.c |8 +++ fs/hot_tracking.c| 118 +

[RFC v3 02/13] vfs: introduce private radix tree structures

2012-10-10 Thread zwu . kernel
From: Zhi Yong Wu One root structure hot_info is defined, is hooked up in super_block, and will be used to hold radix tree root, hash list root and some other information, etc. Adds hot_inode_tree struct to keep track of frequently accessed files, and be keyed by {inode, offset}. Trees contai

[RFC v3 06/13] vfs: add hooks to enable hot data tracking

2012-10-10 Thread zwu . kernel
From: Zhi Yong Wu Miscellaneous features that implement hot data tracking and generally make the hot data functions a bit more friendly. Signed-off-by: Zhi Yong Wu --- fs/direct-io.c |8 fs/hot_tracking.h |5 + mm/filemap.c|7 +++ mm/page-writeback

[RFC v3 08/13] vfs: add aging function for old map info

2012-10-10 Thread zwu . kernel
From: Zhi Yong Wu Signed-off-by: Zhi Yong Wu --- fs/hot_tracking.c | 57 + fs/hot_tracking.h |6 + 2 files changed, 63 insertions(+), 0 deletions(-) diff --git a/fs/hot_tracking.c b/fs/hot_tracking.c index 717faa7..a8dc599 100644 --

[RFC v3 10/13] vfs: register one memory shrinker

2012-10-10 Thread zwu . kernel
From: Zhi Yong Wu Register a shrinker to control the amount of memory that is used in tracking hot regions - if we are throwing inodes out of memory due to memory pressure, we most definitely are going to need to reduce the amount of memory the tracking code is using, even if it means losing us

[RFC v3 12/13] vfs: add debugfs support

2012-10-10 Thread zwu . kernel
From: Zhi Yong Wu Add a /sys/kernel/debug/hot_track// directory for each volume that contains two files. The first, `inode_data', contains the heat information for inodes that have been brought into the hot data map structures. The second, `range_data', contains similar information for subfile

[RFC v3 07/13] vfs: add function for updating map arrays

2012-10-10 Thread zwu . kernel
From: Zhi Yong Wu Signed-off-by: Zhi Yong Wu --- fs/hot_tracking.c | 153 + fs/hot_tracking.h | 60 + 2 files changed, 213 insertions(+), 0 deletions(-) diff --git a/fs/hot_tracking.c b/fs/hot_tracking.c index 08c42c5..

[RFC v3 11/13] vfs: add 3 new ioctl interfaces

2012-10-10 Thread zwu . kernel
From: Zhi Yong Wu FS_IOC_GET_HEAT_INFO: return a struct containing the various metrics collected in btrfs_freq_data structs, and also return a calculated data temperature based on those metrics. Optionally, retrieve the temperature from the hot data hash list instead of recalculating it. FS_

[RFC v3 09/13] vfs: add one wq to update map info periodically

2012-10-10 Thread zwu . kernel
From: Zhi Yong Wu Add a per-superblock workqueue and a work_struct to run periodic work to update map info on each superblock. Signed-off-by: Zhi Yong Wu --- fs/hot_tracking.c| 94 ++ fs/hot_tracking.h|3 + include/linux/

[RFC v3 13/13] vfs: add documentation

2012-10-10 Thread zwu . kernel
From: Zhi Yong Wu Signed-off-by: Zhi Yong Wu --- Documentation/filesystems/00-INDEX |2 + Documentation/filesystems/hot_tracking.txt | 165 2 files changed, 167 insertions(+), 0 deletions(-) create mode 100644 Documentation/filesystems/hot_tracking.txt

[RFC v3 04/13] vfs: add function for collecting raw access info

2012-10-10 Thread zwu . kernel
From: Zhi Yong Wu Add some utils helpers to update access frequencies for one file or its range. Signed-off-by: Zhi Yong Wu --- fs/hot_tracking.c| 190 ++ fs/hot_tracking.h| 12 +++ include/linux/hot_tracking.h |4 + 3 fi

[RFC v3 05/13] vfs: add two map arrays

2012-10-10 Thread zwu . kernel
From: Zhi Yong Wu Adds two map arrays which contains a lot of list and is used to efficiently look up the data temperature of a file or its ranges. In each list of map arrays, the array node will keep track of temperature info. Signed-off-by: Zhi Yong Wu --- fs/hot_tracking.c|

[RFC v3 00/13] vfs: hot data tracking

2012-10-10 Thread zwu . kernel
From: Zhi Yong Wu 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 performan

[PATCH] ext4: remove some unused code lines

2012-12-02 Thread zwu . kernel
From: Zhi Yong Wu In ext4_ext_in_cache(), some codes are redundant, this patch will remove them. Reviewed-by: Zheng Liu Signed-off-by: Zhi Yong Wu --- fs/ext4/extents.c |2 -- 1 files changed, 0 insertions(+), 2 deletions(-) diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c index 7011

[PATCH v1 hot_track 02/18] vfs: add init and cleanup functions

2012-11-08 Thread zwu . kernel
From: Zhi Yong Wu Add initialization function to create some key data structures when hot tracking is enabled; Clean up them when hot tracking is disabled Signed-off-by: Zhi Yong Wu --- fs/hot_tracking.c| 124 ++ include/linux/fs.h

[PATCH v1 hot_track 03/18] vfs: add I/O frequency update function

2012-11-08 Thread zwu . kernel
From: Zhi Yong Wu Add some util helpers to update access frequencies for one file or its range. Signed-off-by: Zhi Yong Wu --- fs/hot_tracking.c| 174 ++ fs/hot_tracking.h|5 + include/linux/hot_tracking.h |4 + 3 files

[PATCH v1 hot_track 06/18] vfs: add temp calculation function

2012-11-08 Thread zwu . kernel
From: Zhi Yong Wu Signed-off-by: Zhi Yong Wu --- fs/hot_tracking.c | 74 + 1 files changed, 74 insertions(+), 0 deletions(-) diff --git a/fs/hot_tracking.c b/fs/hot_tracking.c index 7101b73..3fd6255 100644 --- a/fs/hot_tracking.c +++ b/fs/h

[PATCH v1 hot_track 04/18] vfs: add two map info arrays

2012-11-08 Thread zwu . kernel
From: Zhi Yong Wu Adds two map arrays which contains a lot of list and is used to efficiently look up the data temperature of a file or its ranges. In each list of map arrays, the array node will keep track of temperature info. Signed-off-by: Zhi Yong Wu --- fs/hot_tracking.c|

[PATCH v1 hot_track 12/18] vfs: add one ioctl interface

2012-11-08 Thread zwu . kernel
From: Zhi Yong Wu FS_IOC_GET_HEAT_INFO: return a struct containing the various metrics collected in hot_freq_data structs, and also return a calculated data temperature based on those metrics. Optionally, retrieve the temperature from the hot data hash list instead of recalculating it. Signed-

[PATCH v1 hot_track 11/18] vfs: register one shrinker

2012-11-08 Thread zwu . kernel
From: Zhi Yong Wu Register a shrinker to control the amount of memory that is used in tracking hot regions - if we are throwing inodes out of memory due to memory pressure, we most definitely are going to need to reduce the amount of memory the tracking code is using, even if it means losing us

[PATCH v1 hot_track 15/18] btrfs: add hot tracking support

2012-11-08 Thread zwu . kernel
From: Zhi Yong Wu Introduce one new mount option '-o hot_track', and add its parsing support. Its usage looks like: mount -o hot_track mount -o nouser,hot_track mount -o nouser,hot_track,loop mount -o hot_track,nouser Reviewed-by: David Sterba Signed-off-by: Zhi Yong Wu ---

[PATCH v1 hot_track 17/18] ext4: add hot tracking support

2012-11-08 Thread zwu . kernel
From: Zheng Liu Define a new mount option to add VFS hot tracking support in order to use it in ext4. CC: Zhi Yong Wu Signed-off-by: Zheng Liu --- fs/ext4/ext4.h |3 +++ fs/ext4/super.c | 13 - 2 files changed, 15 insertions(+), 1 deletions(-) diff --git a/fs/ext4/ext4.h

  1   2   >