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
From: Zhi Yong Wu wu...@linux.vnet.ibm.com
Add Documentation for VFS hot tracking feature
Signed-off-by: Chandra Seetharaman sekha...@us.ibm.com
Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com
---
Documentation/filesystems/00-INDEX | 2 +
From: Zhi Yong Wu wu...@linux.vnet.ibm.com
Introduce one ability to enable that specific FS
can register its own hot tracking functions.
Signed-off-by: Chandra Seetharaman sekha...@us.ibm.com
Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com
---
fs/hot_tracking.c| 32
From: Zhi Yong Wu wu...@linux.vnet.ibm.com
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
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
From: Zhi Yong Wu wu...@linux.vnet.ibm.com
Add i/o freq tracking hooks in real read/write code paths
which include read_pages(), do_writepages(), do_generic_file_read(),
and __blockdev_direct_IO().
Currently whole FS has one RB tree to track i/o freqs for
all inodes which had real disk i/o,
From: Zhi Yong Wu wu...@linux.vnet.ibm.com
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
From: Zhi Yong Wu wu...@linux.vnet.ibm.com
This rcu macro for list will be used in seq_list
rcu interfaces.
Signed-off-by: Chandra Seetharaman sekha...@us.ibm.com
Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com
---
include/linux/rculist.h | 5 +
1 file changed, 5 insertions(+)
diff
From: Zhi Yong Wu wu...@linux.vnet.ibm.com
The patch will introduce one set of rcu interface for seq_list.
Signed-off-by: Chandra Seetharaman sekha...@us.ibm.com
Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com
---
fs/seq_file.c| 37 +
From: Zhi Yong Wu wu...@linux.vnet.ibm.com
Add a directory 'dev_name' in /sys/kernel/debug/hot_track/
for each volume that contains four files which are 'inode_stat',
'extent_stat', 'inode_spot', and 'extent_spot'.
Signed-off-by: Chandra Seetharaman sekha...@us.ibm.com
Signed-off-by: Zhi Yong
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
From: Zhi Yong Wu wu...@linux.vnet.ibm.com
Add two proc interfaces hot-age-interval and hot-update-interval
under the dir /proc/sys/fs/ in order to turn HOT_AGE_INTERVAL and
HOT_UPDATE_INTERVAL into be tunable.
Signed-off-by: Chandra Seetharaman sekha...@us.ibm.com
Signed-off-by: Zhi Yong Wu
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,
From: Zhi Yong Wu wu...@linux.vnet.ibm.com
Add one list_head field 'reloc_list' to accommodate
hot relocation support.
Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com
---
fs/hot_tracking.c| 1 +
include/linux/hot_tracking.h | 1 +
2 files changed, 2 insertions(+)
diff --git
From: Zhi Yong Wu wu...@linux.vnet.ibm.com
Introduce one new block group BTRFS_BLOCK_GROUP_DATA_NONROT,
which is used to differentiate if the block space is reserved
and allocated from one rotating disk or nonrotating disk.
Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com
---
From: Zhi Yong Wu wu...@linux.vnet.ibm.com
Add one new mount option '-o hot_move' for hot
relocation support. When hot relocation is enabled,
hot tracking will be enabled automatically.
Its usage looks like:
mount -o hot_move
mount -o nouser,hot_move
mount -o nouser,hot_move,loop
From: Zhi Yong Wu wu...@linux.vnet.ibm.com
Add three proc interfaces hot-reloc-interval, hot-reloc-threshold,
and hot-reloc-max-items under the dir /proc/sys/fs/ in order to
turn HOT_RELOC_INTERVAL, HOT_RELOC_THRESHOLD, and HOT_RELOC_MAX_ITEMS
into be tunable.
Signed-off-by: Zhi Yong Wu
From: Zhi Yong Wu wu...@linux.vnet.ibm.com
The patchset as RFC is sent out mainly to see if its design
goes in the correct development direction.
When working on this feature, i am trying to change as less
the existing btrfs code as possible. After V0 was sent out,
i carefully checked the
From: Zhi Yong Wu wu...@linux.vnet.ibm.com
Add one private thread for hot relocation. It will check
if there're some extents which is hotter than the threshold
and queue them at first, if no, it will return and wait for
its next turn; otherwise, it will check if nonrotating disk
ratio is
From: Zhi Yong Wu wu...@linux.vnet.ibm.com
Add one new mount option '-o hot_move' for hot
relocation support. When hot relocation is enabled,
hot tracking will be enabled automatically.
Its usage looks like:
mount -o hot_move
mount -o nouser,hot_move
mount -o nouser,hot_move,loop
From: Zhi Yong Wu wu...@linux.vnet.ibm.com
This patchset can work well with the patchset v3 for VFS
hot tracking in RAID single mode now.
The patchset as RFC is sent out mainly to see if its design
goes in the correct development direction.
When working on this feature, i am trying to
From: Zhi Yong Wu wu...@linux.vnet.ibm.com
Add one list_head field 'reloc_list' to accommodate
hot relocation support.
Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com
---
fs/hot_tracking.c| 1 +
include/linux/hot_tracking.h | 1 +
2 files changed, 2 insertions(+)
diff --git
From: Zhi Yong Wu wu...@linux.vnet.ibm.com
Add one private thread for hot relocation. It will check
if there're some extents which is hotter than the threshold
and queue them at first, if no, it will return and wait for
its next turn; otherwise, it will check if nonrotating disk
ratio is
From: Zhi Yong Wu wu...@linux.vnet.ibm.com
Introduce one new block group BTRFS_BLOCK_GROUP_DATA_NONROT,
which is used to differentiate if the block space is reserved
and allocated from one rotating disk or nonrotating disk.
Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com
---
From: Zhi Yong Wu wu...@linux.vnet.ibm.com
Add three proc interfaces hot-reloc-interval, hot-reloc-threshold,
and hot-reloc-max-items under the dir /proc/sys/fs/ in order to
turn HOT_RELOC_INTERVAL, HOT_RELOC_THRESHOLD, and HOT_RELOC_MAX_ITEMS
into be tunable.
Signed-off-by: Zhi Yong Wu
From: Zhi Yong Wu wu...@linux.vnet.ibm.com
Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com
---
extent-cache.c |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/extent-cache.c b/extent-cache.c
index 3dd6434..a5084ee 100644
--- a/extent-cache.c
+++ b/extent-cache.c
@@
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
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
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
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|
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',
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 ++
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
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
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
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
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
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
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
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
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 +
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
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,
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',
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
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
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 ++
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
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
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 +++
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
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
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,
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
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
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
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
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
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(-)
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
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
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
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
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,
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',
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 ++
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
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 ++
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
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
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
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
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
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(-)
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',
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
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
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
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
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 ++
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 ++
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 ++
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
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
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
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
From: Zhi Yong Wu wu...@linux.vnet.ibm.com
Since raid5/6 support was introduced, we should update mkfs.btrfs help info.
Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com
---
mkfs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mkfs.c b/mkfs.c
index 5ece186..f9f26a5
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
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
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 +-
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
+++
From: Zhi Yong Wu wu...@linux.vnet.ibm.com
The patchset as RFC is sent out mainly to see if it goes in the
correct development direction.
The patchset is trying to introduce hot relocation support
for BTRFS. In hybrid storage environment, when the data in
HDD disk get hot, it can be
From: Zhi Yong Wu wu...@linux.vnet.ibm.com
Add one list_head field 'reloc_list' to accommodate
hot relocation support.
Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com
---
fs/hot_tracking.c| 1 +
include/linux/hot_tracking.h | 1 +
2 files changed, 2 insertions(+)
diff --git
From: Zhi Yong Wu wu...@linux.vnet.ibm.com
Introduce one new block group BTRFS_BLOCK_GROUP_DATA_SSD,
which is used to differentiate if the block space is reserved
and allocated from one HDD disk or SSD disk.
Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com
---
fs/btrfs/Makefile | 3
From: Zhi Yong Wu wu...@linux.vnet.ibm.com
Add three proc interfaces hot-reloc-interval, hot-reloc-threshold,
and hot-reloc-max-items under the dir /proc/sys/fs/ in order to
turn HOT_RELOC_INTERVAL, HOT_RELOC_THRESHOLD, and HOT_RELOC_MAX_ITEMS
into be tunable.
Signed-off-by: Zhi Yong Wu
From: Zhi Yong Wu wu...@linux.vnet.ibm.com
Add one new mount option '-o hot_move' for hot
relocation support. When hot relocation is enabled,
hot tracking will be enabled automatically.
Its usage looks like:
mount -o hot_move
mount -o nouser,hot_move
mount -o nouser,hot_move,loop
96 matches
Mail list logo