diff options
author | Theodore Ts'o <tytso@mit.edu> | 2013-02-28 23:58:56 -0500 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2013-02-28 23:58:56 -0500 |
commit | 246307745c406379996e6ed6411f0e20f1ce1449 (patch) | |
tree | 71b78d765ba7406c6755cad807944da6a99e5980 /fs/ext4/ext4.h | |
parent | 8e919d13048cd5acaadb2b15b48acbfb8832d3c2 (diff) | |
download | linux-246307745c406379996e6ed6411f0e20f1ce1449.tar.bz2 |
ext4: optimize ext4_es_shrink()
When the system is under memory pressure, ext4_es_srhink() will get
called very often. So optimize returning the number of items in the
file system's extent status cache by keeping a per-filesystem count,
instead of calculating it each time by scanning all of the inodes in
the extent status cache.
Also rename the slab used for the extent status cache to be
"ext4_extent_status" so it's obviousl the slab in question is created
by ext4.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: Zheng Liu <gnehzuil.liu@gmail.com>
Diffstat (limited to 'fs/ext4/ext4.h')
-rw-r--r-- | fs/ext4/ext4.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index 6e16c1867959..96c10934bb96 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h @@ -1268,6 +1268,7 @@ struct ext4_sb_info { atomic_t s_mb_preallocated; atomic_t s_mb_discarded; atomic_t s_lock_busy; + atomic_t s_extent_cache_cnt; /* locality groups */ struct ext4_locality_group __percpu *s_locality_groups; |