diff options
author | David Sterba <dsterba@suse.com> | 2018-02-19 11:24:18 -0500 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2018-03-26 09:09:39 -0400 |
commit | e67c718b5b9a306bde7e966be7b4ca48fa063d73 (patch) | |
tree | 5b4905cba33483869094404c531cba4d30767780 | |
parent | ffc5a3794f9779c1a09e18e6d75bb6cc22b37523 (diff) |
btrfs: add more __cold annotations
The __cold functions are placed to a special section, as they're
expected to be called rarely. This could help i-cache prefetches or help
compiler to decide which branches are more/less likely to be taken
without any other annotations needed.
Though we can't add more __exit annotations, it's still possible to add
__cold (that's also added with __exit). That way the following function
categories are tagged:
- printf wrappers, error messages
- exit helpers
Signed-off-by: David Sterba <dsterba@suse.com>
-rw-r--r-- | fs/btrfs/backref.c | 2 | ||||
-rw-r--r-- | fs/btrfs/backref.h | 2 | ||||
-rw-r--r-- | fs/btrfs/compression.c | 2 | ||||
-rw-r--r-- | fs/btrfs/compression.h | 2 | ||||
-rw-r--r-- | fs/btrfs/ctree.h | 9 | ||||
-rw-r--r-- | fs/btrfs/delayed-inode.c | 2 | ||||
-rw-r--r-- | fs/btrfs/delayed-inode.h | 2 | ||||
-rw-r--r-- | fs/btrfs/delayed-ref.c | 2 | ||||
-rw-r--r-- | fs/btrfs/delayed-ref.h | 2 | ||||
-rw-r--r-- | fs/btrfs/disk-io.c | 2 | ||||
-rw-r--r-- | fs/btrfs/disk-io.h | 2 | ||||
-rw-r--r-- | fs/btrfs/extent_io.c | 2 | ||||
-rw-r--r-- | fs/btrfs/extent_io.h | 2 | ||||
-rw-r--r-- | fs/btrfs/extent_map.c | 2 | ||||
-rw-r--r-- | fs/btrfs/extent_map.h | 2 | ||||
-rw-r--r-- | fs/btrfs/file.c | 2 | ||||
-rw-r--r-- | fs/btrfs/inode.c | 2 | ||||
-rw-r--r-- | fs/btrfs/ordered-data.c | 2 | ||||
-rw-r--r-- | fs/btrfs/ordered-data.h | 2 | ||||
-rw-r--r-- | fs/btrfs/send.c | 1 | ||||
-rw-r--r-- | fs/btrfs/super.c | 2 | ||||
-rw-r--r-- | fs/btrfs/sysfs.c | 2 | ||||
-rw-r--r-- | fs/btrfs/tree-checker.c | 3 |
23 files changed, 29 insertions, 24 deletions
diff --git a/fs/btrfs/backref.c b/fs/btrfs/backref.c index 26484648d090..4a33448cbb01 100644 --- a/fs/btrfs/backref.c +++ b/fs/btrfs/backref.c | |||
@@ -170,7 +170,7 @@ int __init btrfs_prelim_ref_init(void) | |||
170 | return 0; | 170 | return 0; |
171 | } | 171 | } |
172 | 172 | ||
173 | void btrfs_prelim_ref_exit(void) | 173 | void __cold btrfs_prelim_ref_exit(void) |
174 | { | 174 | { |
175 | kmem_cache_destroy(btrfs_prelim_ref_cache); | 175 | kmem_cache_destroy(btrfs_prelim_ref_cache); |
176 | } | 176 | } |
diff --git a/fs/btrfs/backref.h b/fs/btrfs/backref.h index 0c2fab8514ff..0a30028d5196 100644 --- a/fs/btrfs/backref.h +++ b/fs/btrfs/backref.h | |||
@@ -73,7 +73,7 @@ int btrfs_find_one_extref(struct btrfs_root *root, u64 inode_objectid, | |||
73 | int btrfs_check_shared(struct btrfs_root *root, u64 inum, u64 bytenr); | 73 | int btrfs_check_shared(struct btrfs_root *root, u64 inum, u64 bytenr); |
74 | 74 | ||
75 | int __init btrfs_prelim_ref_init(void); | 75 | int __init btrfs_prelim_ref_init(void); |
76 | void btrfs_prelim_ref_exit(void); | 76 | void __cold btrfs_prelim_ref_exit(void); |
77 | 77 | ||
78 | struct prelim_ref { | 78 | struct prelim_ref { |
79 | struct rb_node rbnode; | 79 | struct rb_node rbnode; |
diff --git a/fs/btrfs/compression.c b/fs/btrfs/compression.c index 07d049c0c20f..562c3e633403 100644 --- a/fs/btrfs/compression.c +++ b/fs/btrfs/compression.c | |||
@@ -1133,7 +1133,7 @@ int btrfs_decompress(int type, unsigned char *data_in, struct page *dest_page, | |||
1133 | return ret; | 1133 | return ret; |
1134 | } | 1134 | } |
1135 | 1135 | ||
1136 | void btrfs_exit_compress(void) | 1136 | void __cold btrfs_exit_compress(void) |
1137 | { | 1137 | { |
1138 | free_workspaces(); | 1138 | free_workspaces(); |
1139 | } | 1139 | } |
diff --git a/fs/btrfs/compression.h b/fs/btrfs/compression.h index 677fa4aa0bd7..ce796557a918 100644 --- a/fs/btrfs/compression.h +++ b/fs/btrfs/compression.h | |||
@@ -76,7 +76,7 @@ struct compressed_bio { | |||
76 | }; | 76 | }; |
77 | 77 | ||
78 | void __init btrfs_init_compress(void); | 78 | void __init btrfs_init_compress(void); |
79 | void btrfs_exit_compress(void); | 79 | void __cold btrfs_exit_compress(void); |
80 | 80 | ||
81 | int btrfs_compress_pages(unsigned int type_level, struct address_space *mapping, | 81 | int btrfs_compress_pages(unsigned int type_level, struct address_space *mapping, |
82 | u64 start, struct page **pages, | 82 | u64 start, struct page **pages, |
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index 92b9db7186bb..d6a2fc311187 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h | |||
@@ -3204,7 +3204,7 @@ struct inode *btrfs_alloc_inode(struct super_block *sb); | |||
3204 | void btrfs_destroy_inode(struct inode *inode); | 3204 | void btrfs_destroy_inode(struct inode *inode); |
3205 | int btrfs_drop_inode(struct inode *inode); | 3205 | int btrfs_drop_inode(struct inode *inode); |
3206 | int __init btrfs_init_cachep(void); | 3206 | int __init btrfs_init_cachep(void); |
3207 | void btrfs_destroy_cachep(void); | 3207 | void __cold btrfs_destroy_cachep(void); |
3208 | long btrfs_ioctl_trans_end(struct file *file); | 3208 | long btrfs_ioctl_trans_end(struct file *file); |
3209 | struct inode *btrfs_iget(struct super_block *s, struct btrfs_key *location, | 3209 | struct inode *btrfs_iget(struct super_block *s, struct btrfs_key *location, |
3210 | struct btrfs_root *root, int *was_new); | 3210 | struct btrfs_root *root, int *was_new); |
@@ -3255,7 +3255,7 @@ ssize_t btrfs_dedupe_file_range(struct file *src_file, u64 loff, u64 olen, | |||
3255 | 3255 | ||
3256 | /* file.c */ | 3256 | /* file.c */ |
3257 | int __init btrfs_auto_defrag_init(void); | 3257 | int __init btrfs_auto_defrag_init(void); |
3258 | void btrfs_auto_defrag_exit(void); | 3258 | void __cold btrfs_auto_defrag_exit(void); |
3259 | int btrfs_add_inode_defrag(struct btrfs_trans_handle *trans, | 3259 | int btrfs_add_inode_defrag(struct btrfs_trans_handle *trans, |
3260 | struct btrfs_inode *inode); | 3260 | struct btrfs_inode *inode); |
3261 | int btrfs_run_defrag_inodes(struct btrfs_fs_info *fs_info); | 3261 | int btrfs_run_defrag_inodes(struct btrfs_fs_info *fs_info); |
@@ -3290,7 +3290,7 @@ int btrfs_defrag_leaves(struct btrfs_trans_handle *trans, | |||
3290 | 3290 | ||
3291 | /* sysfs.c */ | 3291 | /* sysfs.c */ |
3292 | int __init btrfs_init_sysfs(void); | 3292 | int __init btrfs_init_sysfs(void); |
3293 | void btrfs_exit_sysfs(void); | 3293 | void __cold btrfs_exit_sysfs(void); |
3294 | int btrfs_sysfs_add_mounted(struct btrfs_fs_info *fs_info); | 3294 | int btrfs_sysfs_add_mounted(struct btrfs_fs_info *fs_info); |
3295 | void btrfs_sysfs_remove_mounted(struct btrfs_fs_info *fs_info); | 3295 | void btrfs_sysfs_remove_mounted(struct btrfs_fs_info *fs_info); |
3296 | 3296 | ||
@@ -3302,13 +3302,14 @@ int btrfs_parse_options(struct btrfs_fs_info *info, char *options, | |||
3302 | unsigned long new_flags); | 3302 | unsigned long new_flags); |
3303 | int btrfs_sync_fs(struct super_block *sb, int wait); | 3303 | int btrfs_sync_fs(struct super_block *sb, int wait); |
3304 | 3304 | ||
3305 | static inline __printf(2, 3) | 3305 | static inline __printf(2, 3) __cold |
3306 | void btrfs_no_printk(const struct btrfs_fs_info *fs_info, const char *fmt, ...) | 3306 | void btrfs_no_printk(const struct btrfs_fs_info *fs_info, const char *fmt, ...) |
3307 | { | 3307 | { |
3308 | } | 3308 | } |
3309 | 3309 | ||
3310 | #ifdef CONFIG_PRINTK | 3310 | #ifdef CONFIG_PRINTK |
3311 | __printf(2, 3) | 3311 | __printf(2, 3) |
3312 | __cold | ||
3312 | void btrfs_printk(const struct btrfs_fs_info *fs_info, const char *fmt, ...); | 3313 | void btrfs_printk(const struct btrfs_fs_info *fs_info, const char *fmt, ...); |
3313 | #else | 3314 | #else |
3314 | #define btrfs_printk(fs_info, fmt, args...) \ | 3315 | #define btrfs_printk(fs_info, fmt, args...) \ |
diff --git a/fs/btrfs/delayed-inode.c b/fs/btrfs/delayed-inode.c index 09939fc37f2a..d06bef16ebd5 100644 --- a/fs/btrfs/delayed-inode.c +++ b/fs/btrfs/delayed-inode.c | |||
@@ -42,7 +42,7 @@ int __init btrfs_delayed_inode_init(void) | |||
42 | return 0; | 42 | return 0; |
43 | } | 43 | } |
44 | 44 | ||
45 | void btrfs_delayed_inode_exit(void) | 45 | void __cold btrfs_delayed_inode_exit(void) |
46 | { | 46 | { |
47 | kmem_cache_destroy(delayed_node_cache); | 47 | kmem_cache_destroy(delayed_node_cache); |
48 | } | 48 | } |
diff --git a/fs/btrfs/delayed-inode.h b/fs/btrfs/delayed-inode.h index ae893d85224f..100a91e26b55 100644 --- a/fs/btrfs/delayed-inode.h +++ b/fs/btrfs/delayed-inode.h | |||
@@ -149,7 +149,7 @@ int btrfs_readdir_delayed_dir_index(struct dir_context *ctx, | |||
149 | 149 | ||
150 | /* for init */ | 150 | /* for init */ |
151 | int __init btrfs_delayed_inode_init(void); | 151 | int __init btrfs_delayed_inode_init(void); |
152 | void btrfs_delayed_inode_exit(void); | 152 | void __cold btrfs_delayed_inode_exit(void); |
153 | 153 | ||
154 | /* for debugging */ | 154 | /* for debugging */ |
155 | void btrfs_assert_delayed_root_empty(struct btrfs_fs_info *fs_info); | 155 | void btrfs_assert_delayed_root_empty(struct btrfs_fs_info *fs_info); |
diff --git a/fs/btrfs/delayed-ref.c b/fs/btrfs/delayed-ref.c index 7ab5e0128f0c..03bdf355107a 100644 --- a/fs/btrfs/delayed-ref.c +++ b/fs/btrfs/delayed-ref.c | |||
@@ -930,7 +930,7 @@ btrfs_find_delayed_ref_head(struct btrfs_delayed_ref_root *delayed_refs, u64 byt | |||
930 | return find_ref_head(&delayed_refs->href_root, bytenr, 0); | 930 | return find_ref_head(&delayed_refs->href_root, bytenr, 0); |
931 | } | 931 | } |
932 | 932 | ||
933 | void btrfs_delayed_ref_exit(void) | 933 | void __cold btrfs_delayed_ref_exit(void) |
934 | { | 934 | { |
935 | kmem_cache_destroy(btrfs_delayed_ref_head_cachep); | 935 | kmem_cache_destroy(btrfs_delayed_ref_head_cachep); |
936 | kmem_cache_destroy(btrfs_delayed_tree_ref_cachep); | 936 | kmem_cache_destroy(btrfs_delayed_tree_ref_cachep); |
diff --git a/fs/btrfs/delayed-ref.h b/fs/btrfs/delayed-ref.h index c4f625e5a691..9e3e5aff0937 100644 --- a/fs/btrfs/delayed-ref.h +++ b/fs/btrfs/delayed-ref.h | |||
@@ -204,7 +204,7 @@ extern struct kmem_cache *btrfs_delayed_data_ref_cachep; | |||
204 | extern struct kmem_cache *btrfs_delayed_extent_op_cachep; | 204 | extern struct kmem_cache *btrfs_delayed_extent_op_cachep; |
205 | 205 | ||
206 | int __init btrfs_delayed_ref_init(void); | 206 | int __init btrfs_delayed_ref_init(void); |
207 | void btrfs_delayed_ref_exit(void); | 207 | void __cold btrfs_delayed_ref_exit(void); |
208 | 208 | ||
209 | static inline struct btrfs_delayed_extent_op * | 209 | static inline struct btrfs_delayed_extent_op * |
210 | btrfs_alloc_delayed_extent_op(void) | 210 | btrfs_alloc_delayed_extent_op(void) |
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index c10c84640eee..798e602c1834 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c | |||
@@ -110,7 +110,7 @@ int __init btrfs_end_io_wq_init(void) | |||
110 | return 0; | 110 | return 0; |
111 | } | 111 | } |
112 | 112 | ||
113 | void btrfs_end_io_wq_exit(void) | 113 | void __cold btrfs_end_io_wq_exit(void) |
114 | { | 114 | { |
115 | kmem_cache_destroy(btrfs_end_io_wq_cache); | 115 | kmem_cache_destroy(btrfs_end_io_wq_cache); |
116 | } | 116 | } |
diff --git a/fs/btrfs/disk-io.h b/fs/btrfs/disk-io.h index e2ac6a14150a..aaf99529883d 100644 --- a/fs/btrfs/disk-io.h +++ b/fs/btrfs/disk-io.h | |||
@@ -153,7 +153,7 @@ struct extent_map *btree_get_extent(struct btrfs_inode *inode, | |||
153 | int create); | 153 | int create); |
154 | int btrfs_get_num_tolerated_disk_barrier_failures(u64 flags); | 154 | int btrfs_get_num_tolerated_disk_barrier_failures(u64 flags); |
155 | int __init btrfs_end_io_wq_init(void); | 155 | int __init btrfs_end_io_wq_init(void); |
156 | void btrfs_end_io_wq_exit(void); | 156 | void __cold btrfs_end_io_wq_exit(void); |
157 | 157 | ||
158 | #ifdef CONFIG_DEBUG_LOCK_ALLOC | 158 | #ifdef CONFIG_DEBUG_LOCK_ALLOC |
159 | void btrfs_init_lockdep(void); | 159 | void btrfs_init_lockdep(void); |
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index 4e73705b405e..da46e9372262 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c | |||
@@ -187,7 +187,7 @@ free_state_cache: | |||
187 | return -ENOMEM; | 187 | return -ENOMEM; |
188 | } | 188 | } |
189 | 189 | ||
190 | void extent_io_exit(void) | 190 | void __cold extent_io_exit(void) |
191 | { | 191 | { |
192 | btrfs_leak_debug_check(); | 192 | btrfs_leak_debug_check(); |
193 | 193 | ||
diff --git a/fs/btrfs/extent_io.h b/fs/btrfs/extent_io.h index da9be2fb0502..e359c5d4305c 100644 --- a/fs/btrfs/extent_io.h +++ b/fs/btrfs/extent_io.h | |||
@@ -286,7 +286,7 @@ int try_lock_extent(struct extent_io_tree *tree, u64 start, u64 end); | |||
286 | int extent_read_full_page(struct extent_io_tree *tree, struct page *page, | 286 | int extent_read_full_page(struct extent_io_tree *tree, struct page *page, |
287 | get_extent_t *get_extent, int mirror_num); | 287 | get_extent_t *get_extent, int mirror_num); |
288 | int __init extent_io_init(void); | 288 | int __init extent_io_init(void); |
289 | void extent_io_exit(void); | 289 | void __cold extent_io_exit(void); |
290 | 290 | ||
291 | u64 count_range_bits(struct extent_io_tree *tree, | 291 | u64 count_range_bits(struct extent_io_tree *tree, |
292 | u64 *start, u64 search_end, | 292 | u64 *start, u64 search_end, |
diff --git a/fs/btrfs/extent_map.c b/fs/btrfs/extent_map.c index b8ead8dc2ebe..53a0633c6ef7 100644 --- a/fs/btrfs/extent_map.c +++ b/fs/btrfs/extent_map.c | |||
@@ -19,7 +19,7 @@ int __init extent_map_init(void) | |||
19 | return 0; | 19 | return 0; |
20 | } | 20 | } |
21 | 21 | ||
22 | void extent_map_exit(void) | 22 | void __cold extent_map_exit(void) |
23 | { | 23 | { |
24 | kmem_cache_destroy(extent_map_cache); | 24 | kmem_cache_destroy(extent_map_cache); |
25 | } | 25 | } |
diff --git a/fs/btrfs/extent_map.h b/fs/btrfs/extent_map.h index b29f77bc0732..f6f8ba114977 100644 --- a/fs/btrfs/extent_map.h +++ b/fs/btrfs/extent_map.h | |||
@@ -86,7 +86,7 @@ void replace_extent_mapping(struct extent_map_tree *tree, | |||
86 | struct extent_map *alloc_extent_map(void); | 86 | struct extent_map *alloc_extent_map(void); |
87 | void free_extent_map(struct extent_map *em); | 87 | void free_extent_map(struct extent_map *em); |
88 | int __init extent_map_init(void); | 88 | int __init extent_map_init(void); |
89 | void extent_map_exit(void); | 89 | void __cold extent_map_exit(void); |
90 | int unpin_extent_cache(struct extent_map_tree *tree, u64 start, u64 len, u64 gen); | 90 | int unpin_extent_cache(struct extent_map_tree *tree, u64 start, u64 len, u64 gen); |
91 | void clear_em_logging(struct extent_map_tree *tree, struct extent_map *em); | 91 | void clear_em_logging(struct extent_map_tree *tree, struct extent_map *em); |
92 | struct extent_map *search_extent_mapping(struct extent_map_tree *tree, | 92 | struct extent_map *search_extent_mapping(struct extent_map_tree *tree, |
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c index 41ab9073d1d4..a335e2e6c84d 100644 --- a/fs/btrfs/file.c +++ b/fs/btrfs/file.c | |||
@@ -3378,7 +3378,7 @@ const struct file_operations btrfs_file_operations = { | |||
3378 | .dedupe_file_range = btrfs_dedupe_file_range, | 3378 | .dedupe_file_range = btrfs_dedupe_file_range, |
3379 | }; | 3379 | }; |
3380 | 3380 | ||
3381 | void btrfs_auto_defrag_exit(void) | 3381 | void __cold btrfs_auto_defrag_exit(void) |
3382 | { | 3382 | { |
3383 | kmem_cache_destroy(btrfs_inode_defrag_cachep); | 3383 | kmem_cache_destroy(btrfs_inode_defrag_cachep); |
3384 | } | 3384 | } |
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 491a7397f6fa..bb5de52cbc09 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c | |||
@@ -9478,7 +9478,7 @@ static void init_once(void *foo) | |||
9478 | inode_init_once(&ei->vfs_inode); | 9478 | inode_init_once(&ei->vfs_inode); |
9479 | } | 9479 | } |
9480 | 9480 | ||
9481 | void btrfs_destroy_cachep(void) | 9481 | void __cold btrfs_destroy_cachep(void) |
9482 | { | 9482 | { |
9483 | /* | 9483 | /* |
9484 | * Make sure all delayed rcu free inodes are flushed before we | 9484 | * Make sure all delayed rcu free inodes are flushed before we |
diff --git a/fs/btrfs/ordered-data.c b/fs/btrfs/ordered-data.c index 5b311aeddcc8..9be98e42cfb6 100644 --- a/fs/btrfs/ordered-data.c +++ b/fs/btrfs/ordered-data.c | |||
@@ -1154,7 +1154,7 @@ int __init ordered_data_init(void) | |||
1154 | return 0; | 1154 | return 0; |
1155 | } | 1155 | } |
1156 | 1156 | ||
1157 | void ordered_data_exit(void) | 1157 | void __cold ordered_data_exit(void) |
1158 | { | 1158 | { |
1159 | kmem_cache_destroy(btrfs_ordered_extent_cache); | 1159 | kmem_cache_destroy(btrfs_ordered_extent_cache); |
1160 | } | 1160 | } |
diff --git a/fs/btrfs/ordered-data.h b/fs/btrfs/ordered-data.h index c53e2cfb72d9..4a1672a13ba6 100644 --- a/fs/btrfs/ordered-data.h +++ b/fs/btrfs/ordered-data.h | |||
@@ -217,5 +217,5 @@ void btrfs_wait_logged_extents(struct btrfs_trans_handle *trans, | |||
217 | struct btrfs_root *log, u64 transid); | 217 | struct btrfs_root *log, u64 transid); |
218 | void btrfs_free_logged_extents(struct btrfs_root *log, u64 transid); | 218 | void btrfs_free_logged_extents(struct btrfs_root *log, u64 transid); |
219 | int __init ordered_data_init(void); | 219 | int __init ordered_data_init(void); |
220 | void ordered_data_exit(void); | 220 | void __cold ordered_data_exit(void); |
221 | #endif | 221 | #endif |
diff --git a/fs/btrfs/send.c b/fs/btrfs/send.c index b0c5d710183e..085542832b9a 100644 --- a/fs/btrfs/send.c +++ b/fs/btrfs/send.c | |||
@@ -270,6 +270,7 @@ struct name_cache_entry { | |||
270 | char name[]; | 270 | char name[]; |
271 | }; | 271 | }; |
272 | 272 | ||
273 | __cold | ||
273 | static void inconsistent_snapshot_error(struct send_ctx *sctx, | 274 | static void inconsistent_snapshot_error(struct send_ctx *sctx, |
274 | enum btrfs_compare_tree_result result, | 275 | enum btrfs_compare_tree_result result, |
275 | const char *what) | 276 | const char *what) |
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c index 07bc2bfbdb96..1dd2e785918c 100644 --- a/fs/btrfs/super.c +++ b/fs/btrfs/super.c | |||
@@ -2333,7 +2333,7 @@ static int __init btrfs_interface_init(void) | |||
2333 | return misc_register(&btrfs_misc); | 2333 | return misc_register(&btrfs_misc); |
2334 | } | 2334 | } |
2335 | 2335 | ||
2336 | static void btrfs_interface_exit(void) | 2336 | static __cold void btrfs_interface_exit(void) |
2337 | { | 2337 | { |
2338 | misc_deregister(&btrfs_misc); | 2338 | misc_deregister(&btrfs_misc); |
2339 | } | 2339 | } |
diff --git a/fs/btrfs/sysfs.c b/fs/btrfs/sysfs.c index a8bafed931f4..6af7b58e1a90 100644 --- a/fs/btrfs/sysfs.c +++ b/fs/btrfs/sysfs.c | |||
@@ -923,7 +923,7 @@ out1: | |||
923 | return ret; | 923 | return ret; |
924 | } | 924 | } |
925 | 925 | ||
926 | void btrfs_exit_sysfs(void) | 926 | void __cold btrfs_exit_sysfs(void) |
927 | { | 927 | { |
928 | sysfs_remove_group(&btrfs_kset->kobj, &btrfs_feature_attr_group); | 928 | sysfs_remove_group(&btrfs_kset->kobj, &btrfs_feature_attr_group); |
929 | kset_unregister(btrfs_kset); | 929 | kset_unregister(btrfs_kset); |
diff --git a/fs/btrfs/tree-checker.c b/fs/btrfs/tree-checker.c index e96cfd93ae3f..8871286c1a91 100644 --- a/fs/btrfs/tree-checker.c +++ b/fs/btrfs/tree-checker.c | |||
@@ -52,6 +52,7 @@ | |||
52 | * Allows callers to customize the output. | 52 | * Allows callers to customize the output. |
53 | */ | 53 | */ |
54 | __printf(4, 5) | 54 | __printf(4, 5) |
55 | __cold | ||
55 | static void generic_err(const struct btrfs_fs_info *fs_info, | 56 | static void generic_err(const struct btrfs_fs_info *fs_info, |
56 | const struct extent_buffer *eb, int slot, | 57 | const struct extent_buffer *eb, int slot, |
57 | const char *fmt, ...) | 58 | const char *fmt, ...) |
@@ -76,6 +77,7 @@ static void generic_err(const struct btrfs_fs_info *fs_info, | |||
76 | * offset has its own meaning. | 77 | * offset has its own meaning. |
77 | */ | 78 | */ |
78 | __printf(4, 5) | 79 | __printf(4, 5) |
80 | __cold | ||
79 | static void file_extent_err(const struct btrfs_fs_info *fs_info, | 81 | static void file_extent_err(const struct btrfs_fs_info *fs_info, |
80 | const struct extent_buffer *eb, int slot, | 82 | const struct extent_buffer *eb, int slot, |
81 | const char *fmt, ...) | 83 | const char *fmt, ...) |
@@ -229,6 +231,7 @@ static int check_csum_item(struct btrfs_fs_info *fs_info, | |||
229 | * which represents inode number | 231 | * which represents inode number |
230 | */ | 232 | */ |
231 | __printf(4, 5) | 233 | __printf(4, 5) |
234 | __cold | ||
232 | static void dir_item_err(const struct btrfs_fs_info *fs_info, | 235 | static void dir_item_err(const struct btrfs_fs_info *fs_info, |
233 | const struct extent_buffer *eb, int slot, | 236 | const struct extent_buffer *eb, int slot, |
234 | const char *fmt, ...) | 237 | const char *fmt, ...) |