bcache: Use DEFINE_MUTEX() for mutex lock

Started by Zheng Yongjun on May 5, 2021 · 3 messages from 2 authors · Last reply May 6, 2021

Subsystems (2)

Maintainers (3)

STALE2018d

open the first message on its own page

Message details and related content
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 <redacted>
Signed-off-by: Zheng Yongjun <redacted>
---

v4:
- change commit log, delete bss information at commit description.

8 more lines

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
Message details and related content
On 5/5/21 7:06 PM, Zheng Yongjun wrote:
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 <redacted>
Signed-off-by: Zheng Yongjun <redacted>
Added in my for-test queue.

Thanks.

Coly Li

[snipped]

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

Message details and related content
I've been on a business trip some time ago and didn't do upstream work. Thanks for your patience:)

-----邮件原件-----
发件人: Coly Li [mailto:colyli@suse.de] 
发送时间: 2021年5月6日 11:27
收件人: zhengyongjun [off-list ref]
抄送: pmail_hulkci [off-list ref]; kent.overstreet@gmail.com; linux-bcache@vger.kernel.org; linux-kernel@vger.kernel.org
主题: Re: [PATCH -next v4] bcache: Use DEFINE_MUTEX() for mutex lock

On 5/5/21 7:06 PM, Zheng Yongjun wrote:
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 <redacted>
Signed-off-by: Zheng Yongjun <redacted>
Added in my for-test queue.

Thanks.

Coly Li

[snipped]
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help