diff options
author | Theodore Ts'o <tytso@mit.edu> | 2013-08-16 21:23:41 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2013-08-16 21:23:41 -0400 |
commit | 107a7bd31ac003e42c0f966aa8e5b26947de6024 (patch) | |
tree | eb1484facfcba3e07b64d8775fa91fbe45591ab1 /include/trace | |
parent | 3be78c73179c9347bdc0a92b2898063bd2300ff7 (diff) |
ext4: cache all of an extent tree's leaf block upon reading
When we read in an extent tree leaf block from disk, arrange to have
all of its entries cached. In nearly all cases the in-memory
representation will be more compact than the on-disk representation in
the buffer cache, and it allows us to get the information without
having to traverse the extent tree for successive extents.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Zheng Liu <wenqing.lz@taobao.com>
Diffstat (limited to 'include/trace')
-rw-r--r-- | include/trace/events/ext4.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/include/trace/events/ext4.h b/include/trace/events/ext4.h index 47a355b251e4..d892b55d91ab 100644 --- a/include/trace/events/ext4.h +++ b/include/trace/events/ext4.h | |||
@@ -2192,7 +2192,7 @@ TRACE_EVENT(ext4_ext_remove_space_done, | |||
2192 | (unsigned short) __entry->eh_entries) | 2192 | (unsigned short) __entry->eh_entries) |
2193 | ); | 2193 | ); |
2194 | 2194 | ||
2195 | TRACE_EVENT(ext4_es_insert_extent, | 2195 | DECLARE_EVENT_CLASS(ext4__es_extent, |
2196 | TP_PROTO(struct inode *inode, struct extent_status *es), | 2196 | TP_PROTO(struct inode *inode, struct extent_status *es), |
2197 | 2197 | ||
2198 | TP_ARGS(inode, es), | 2198 | TP_ARGS(inode, es), |
@@ -2222,6 +2222,18 @@ TRACE_EVENT(ext4_es_insert_extent, | |||
2222 | __entry->pblk, show_extent_status(__entry->status)) | 2222 | __entry->pblk, show_extent_status(__entry->status)) |
2223 | ); | 2223 | ); |
2224 | 2224 | ||
2225 | DEFINE_EVENT(ext4__es_extent, ext4_es_insert_extent, | ||
2226 | TP_PROTO(struct inode *inode, struct extent_status *es), | ||
2227 | |||
2228 | TP_ARGS(inode, es) | ||
2229 | ); | ||
2230 | |||
2231 | DEFINE_EVENT(ext4__es_extent, ext4_es_cache_extent, | ||
2232 | TP_PROTO(struct inode *inode, struct extent_status *es), | ||
2233 | |||
2234 | TP_ARGS(inode, es) | ||
2235 | ); | ||
2236 | |||
2225 | TRACE_EVENT(ext4_es_remove_extent, | 2237 | TRACE_EVENT(ext4_es_remove_extent, |
2226 | TP_PROTO(struct inode *inode, ext4_lblk_t lblk, ext4_lblk_t len), | 2238 | TP_PROTO(struct inode *inode, ext4_lblk_t lblk, ext4_lblk_t len), |
2227 | 2239 | ||