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

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

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

2012-09-23 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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

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

2012-09-23 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com Add a /sys/kernel/debug/hot_track/device_name/ 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',

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

2012-09-23 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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

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

2012-09-23 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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 wu...@linux.vnet.ibm.com --- fs/hot_tracking.c | 60

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

2012-09-23 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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

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

2012-09-23 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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 wu...@linux.vnet.ibm.com --- fs/hot_tracking.c|

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

2012-09-23 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com Miscellaneous features that implement hot data tracking and generally make the hot data functions a bit more friendly. Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com --- fs/direct-io.c | 10 ++

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

2012-09-23 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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

[RFC v2 10/10] vfs: add documentation

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

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

2012-09-23 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com Add some utils helpers to update access frequencies for one file or its range. Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com --- fs/hot_tracking.c | 359 + fs/hot_tracking.h | 15 +++ 2

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

2012-09-24 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com Need to close fd on exit. Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com --- 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

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

2012-09-24 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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 wu...@linux.vnet.ibm.com --- cmds-filesystem.c |6 -- 1 files changed, 4 insertions(+), 2

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

2012-09-24 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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

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

2012-11-08 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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 wu...@linux.vnet.ibm.com --- fs/hot_tracking.c| 124

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

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

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

2012-11-08 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com --- 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

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

2012-11-08 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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

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

2012-11-08 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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

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

2012-11-08 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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,

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

2012-11-08 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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

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

2012-11-08 Thread zwu . kernel
From: Zheng Liu wenqing...@taobao.com Define a new mount option to add VFS hot tracking support in order to use it in ext4. CC: Zhi Yong Wu zwu.ker...@gmail.com Signed-off-by: Zheng Liu wenqing...@taobao.com --- fs/ext4/ext4.h |3 +++ fs/ext4/super.c | 13 - 2 files

[PATCH v1 hot_track 00/18] vfs: hot data tracking

2012-11-08 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com HI, guys, Any comments or ideas are appreciated, thanks. 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 review them via

[PATCH v1 hot_track 18/18] vfs: add documentation

2012-11-08 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com Add one doc for VFS hot tracking feature Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com --- Documentation/filesystems/00-INDEX |2 + Documentation/filesystems/hot_tracking.txt | 263 2 files changed, 265

[PATCH v1 hot_track 16/18] xfs: add hot tracking support

2012-11-08 Thread zwu . kernel
From: Dave Chinner dchin...@redhat.com Connect up the VFS hot tracking support so XFS filesystems can make use of it. Signed-off-by: Dave Chinner dchin...@redhat.com --- fs/xfs/xfs_mount.h |1 + fs/xfs/xfs_super.c | 16 2 files changed, 17 insertions(+), 0 deletions(-)

[PATCH v1 hot_track 14/18] procfs: add two hot_track proc files

2012-11-08 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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 wu...@linux.vnet.ibm.com --- fs/hot_tracking.c| 12

[PATCH v1 hot_track 13/18] vfs: add debugfs support

2012-11-08 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com Add a /sys/kernel/debug/hot_track/device_name/ 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',

[PATCH v1 hot_track 09/18] vfs: add one work queue

2012-11-08 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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 wu...@linux.vnet.ibm.com --- fs/hot_tracking.c| 85 ++

[PATCH v1 hot_track 10/18] vfs: add FS hot type support

2012-11-08 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com Introduce one way to enable that specific FS can inject its own hot tracking type. Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com --- fs/hot_tracking.c| 43 +++-- fs/hot_tracking.h|

[PATCH v1 hot_track 08/18] vfs: add aging function

2012-11-08 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com --- fs/hot_tracking.c | 56 + fs/hot_tracking.h |6 + 2 files changed, 62 insertions(+), 0 deletions(-) diff --git a/fs/hot_tracking.c

[PATCH v1 hot_track 07/18] vfs: add map info update function

2012-11-08 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com --- fs/hot_tracking.c | 67 + fs/hot_tracking.h | 21 2 files changed, 88 insertions(+), 0 deletions(-) diff --git

[PATCH v1 hot_track 05/18] vfs: add hooks to enable hot tracking

2012-11-08 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com Miscellaneous features that implement hot data tracking and generally make the hot data functions a bit more friendly. Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com --- fs/direct-io.c |6 ++ mm/filemap.c|6 ++

[PATCH v1 hot_track 01/18] vfs: introduce some data structures

2012-11-08 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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

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

2012-10-10 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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

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

2012-10-10 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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 wu...@linux.vnet.ibm.com --- fs/btrfs/super.c |8 +++

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

2012-10-10 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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

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

2012-10-10 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com Miscellaneous features that implement hot data tracking and generally make the hot data functions a bit more friendly. Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com --- fs/direct-io.c |8 fs/hot_tracking.h |5 +

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

2012-10-10 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com --- fs/hot_tracking.c | 57 + fs/hot_tracking.h |6 + 2 files changed, 63 insertions(+), 0 deletions(-) diff --git a/fs/hot_tracking.c

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

2012-10-10 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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,

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

2012-10-10 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com Add a /sys/kernel/debug/hot_track/device_name/ 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',

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

2012-10-10 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com --- fs/hot_tracking.c | 153 + fs/hot_tracking.h | 60 + 2 files changed, 213 insertions(+), 0 deletions(-) diff --git

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

2012-10-10 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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

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

2012-10-10 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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 wu...@linux.vnet.ibm.com --- fs/hot_tracking.c| 94 ++

[RFC v3 13/13] vfs: add documentation

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

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

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

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

2012-10-10 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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

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

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

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

2012-10-25 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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,

[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 wu...@linux.vnet.ibm.com Add some utils helpers to update access frequencies for one file or its range. Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com --- fs/hot_tracking.c| 191 ++ fs/hot_tracking.h|9

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

2012-10-25 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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

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

2012-10-25 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com --- fs/hot_tracking.c | 56 + fs/hot_tracking.h |6 + 2 files changed, 62 insertions(+), 0 deletions(-) diff --git a/fs/hot_tracking.c

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

2012-10-25 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com --- fs/hot_tracking.c | 164 + fs/hot_tracking.h | 54 + 2 files changed, 218 insertions(+), 0 deletions(-) diff --git

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

2012-10-25 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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

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

2012-10-25 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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,

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

2012-10-25 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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

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

2012-10-25 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com Add a /sys/kernel/debug/hot_track/device_name/ 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',

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

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

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

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

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

2012-10-25 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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 wu...@linux.vnet.ibm.com --- fs/hot_tracking.c| 12 +--- fs/hot_tracking.h

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

2012-10-25 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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

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

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

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

2012-10-25 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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 wu...@linux.vnet.ibm.com --- fs/hot_tracking.c| 125

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

2012-10-25 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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 wu...@linux.vnet.ibm.com --- fs/hot_tracking.c| 85 ++

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

2012-10-28 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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

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

2012-10-28 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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 wu...@linux.vnet.ibm.com --- fs/hot_tracking.c| 124

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

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

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

2012-10-28 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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

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

2012-10-28 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com --- 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

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

2012-10-28 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com --- fs/hot_tracking.c | 66 + fs/hot_tracking.h | 21 + 2 files changed, 87 insertions(+), 0 deletions(-) diff --git

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

2012-10-28 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com Introduce one framwork to enable that specific FS can register its own hot tracking functions. Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com --- fs/hot_tracking.c| 78 ++

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

2012-10-28 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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

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

2012-10-28 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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

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

2012-10-28 Thread zwu . kernel
From: Zheng Liu wenqing...@taobao.com Define a new mount option to add VFS hot tracking support in order to use it in ext4. CC: Zhi Yong Wu zwu.ker...@gmail.com Signed-off-by: Zheng Liu wenqing...@taobao.com --- fs/ext4/ext4.h |3 +++ fs/ext4/super.c | 13 - 2 files

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

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

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

2012-10-28 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com Add one doc for VFS hot tracking feature Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com --- Documentation/filesystems/00-INDEX |2 + Documentation/filesystems/hot_tracking.txt | 262 2 files changed, 264

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

2012-10-28 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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,

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

2012-10-28 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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 wu...@linux.vnet.ibm.com --- fs/hot_tracking.c| 12

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

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

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

2012-10-28 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com Add a /sys/kernel/debug/hot_track/device_name/ 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',

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

2012-10-28 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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 wu...@linux.vnet.ibm.com --- fs/hot_tracking.c| 85 ++

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

2012-10-28 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com --- fs/hot_tracking.c | 56 + fs/hot_tracking.h |6 + 2 files changed, 62 insertions(+), 0 deletions(-) diff --git a/fs/hot_tracking.c

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

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

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

2012-10-28 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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

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

2013-03-18 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com --- 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

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

2013-03-18 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com --- 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

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

2013-03-21 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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 wu...@linux.vnet.ibm.com --- man/mkfs.btrfs.8.in | 2 +-

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

2013-03-21 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com --- 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 +++

[PATCH] ext4: remove some unused code lines

2012-11-29 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com --- 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 +++

[PATCH] ext4: remove some unused code lines

2012-12-02 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com In ext4_ext_in_cache(), some codes are redundant, this patch will remove them. Reviewed-by: Zheng Liu wenqing...@taobao.com Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com --- fs/ext4/extents.c |2 -- 1 files changed, 0 insertions(+), 2

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

2012-09-11 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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 wu...@linux.vnet.ibm.com --- include/linux/fs.h|4

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

2012-09-11 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com Add some utils helpers to update access frequencies for one file or its range. Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com --- fs/hot_rb.c | 359 +++ fs/hot_rb.h | 28 + 2 files

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

2012-09-11 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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

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

2012-09-11 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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

[RFC 00/11] VFS: hot data tracking

2012-09-11 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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

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

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

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

2012-09-11 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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

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

2012-09-11 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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 wu...@linux.vnet.ibm.com --- fs/hot_hash.c | 316

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

2012-09-11 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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

[RFC 11/11] vfs: add debugfs support

2012-09-11 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com Add a /sys/kernel/debug/hot_track/device_name/ 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',

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

2012-09-11 Thread zwu . kernel
From: Zhi Yong Wu wu...@linux.vnet.ibm.com 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

  1   2   3   4   >