summaryrefslogtreecommitdiffstats
path: root/fs/ext4/ext4.h
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2009-03-05 01:31:53 +0100
committerTheodore Ts'o <tytso@mit.edu>2009-03-05 01:31:53 +0100
commit7d39db14a42cbd719c7515b9da8f85a2eb6a0633 (patch)
tree5c93b9f76c9895183d1e973ed296cd9b7a1d9a0e /fs/ext4/ext4.h
parentext4: Use atomic_t's in struct flex_groups (diff)
downloadlinux-7d39db14a42cbd719c7515b9da8f85a2eb6a0633.tar.xz
linux-7d39db14a42cbd719c7515b9da8f85a2eb6a0633.zip
ext4: Use struct flex_groups to calculate get_orlov_stats()
Instead of looping over all of the block groups in a flex group summing their summary statistics, start tracking used_dirs in struct flex_groups, and use struct flex_groups instead. This should save a bit of CPU for mkdir-heavy workloads. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/ext4.h')
-rw-r--r--fs/ext4/ext4.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
index e52b48f86ed4..46aaaa2ed4c5 100644
--- a/fs/ext4/ext4.h
+++ b/fs/ext4/ext4.h
@@ -172,6 +172,7 @@ struct ext4_group_desc
struct flex_groups {
atomic_t free_inodes;
atomic_t free_blocks;
+ atomic_t used_dirs;
};
#define EXT4_BG_INODE_UNINIT 0x0001 /* Inode table/bitmap not in use */