[PATCH -next v3] bcache: use DEFINE_MUTEX() for mutex lock

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

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




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux ARM Kernel]     [Linux Filesystem Development]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux