mutex lock can be initialized automatically with DEFINE_MUTEX() rather
than explicitly calling mutex_init().

this patch will reduce the size of bcache.ko about 16 bytes, the reason
as follows:

though this patch will increase the size of .data segment about 32 bytes,
it will also reduce the size of .init.text and .rodata.str1.1(at x86_64),
.rodata_str1.8(at arm64) and .bss segment total about 48 bytes which reduce
 the size more than .data segment;

here is the statistics:
Sections: (arm64 platform)
Idx name                size
-.init.text             00000240
+.init.text             00000228

-.rodata.str1.8 000012cd
+.rodata.str1.8 000012b5

-.data                  00000c60
+.data                  00000c80

Sections: (x86 platform)
Idx name                size
-.init.text             000001d9
+.init.text             000001bf

-.rodata.str1.1 00000c80
+.rodata.str1.1 00000c6d

-.data                  00000cc0
+.data                  00000ce0

Reported-by: Hulk Robot <hul...@huawei.com>
Signed-off-by: Zheng Yongjun <zhengyongj...@huawei.com>
---

v3:
- change commit log, delete statistic about .bss segment.
v2:
- add commit log about the reason why bcache.ko size reduced.

 drivers/md/bcache/super.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/md/bcache/super.c b/drivers/md/bcache/super.c
index 03e1fe4de53d..3635f454309e 100644
--- a/drivers/md/bcache/super.c
+++ b/drivers/md/bcache/super.c
@@ -40,7 +40,7 @@ static const char invalid_uuid[] = {
 };
 
 static struct kobject *bcache_kobj;
-struct mutex bch_register_lock;
+DEFINE_MUTEX(bch_register_lock);
 bool bcache_is_reboot;
 LIST_HEAD(bch_cache_sets);
 static LIST_HEAD(uncached_devices);
@@ -2869,7 +2869,6 @@ static int __init bcache_init(void)
 
        check_module_parameters();
 
-       mutex_init(&bch_register_lock);
        init_waitqueue_head(&unregister_wait);
        register_reboot_notifier(&reboot);
 
-- 
2.25.1

Reply via email to