[PATCH -next v4] bcache: Use DEFINE_MUTEX() for mutex lock

From: Zheng Yongjun
Date: Wed May 05 2021 - 06:53:15 EST


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) 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 <hulkci@xxxxxxxxxx>
Signed-off-by: Zheng Yongjun <zhengyongjun3@xxxxxxxxxx>
---

v4:
- change commit log, delete bss information at commit description.
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