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 64 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 96 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 -.bss 00000080 +.bss 00000060 Sections: (x86 platform) Idx name size -.init.text 000001d9 +.init.text 000001bf -.rodata.str1.1 00000c80 +.rodata.str1.1 00000c6d -.data 00000cc0 +.data 00000ce0 -.bss 00000080 +.bss 00000070 Reported-by: Hulk Robot <hulkci@xxxxxxxxxx> Signed-off-by: Zheng Yongjun <zhengyongjun3@xxxxxxxxxx> --- 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