diff mbox series

[v2,25/28] block: Move zone related debugfs attribute to blk-zoned.c

Message ID 20240325044452.3125418-26-dlemoal@kernel.org (mailing list archive)
State Superseded
Headers show
Series Zone write plugging | expand

Commit Message

Damien Le Moal March 25, 2024, 4:44 a.m. UTC
block/blk-mq-debugfs-zone.c contains a single debugfs attribute
function. Defining this outside of block/blk-zoned.c does not really
help in any way, so move this zone related debugfs attribute to
block/blk-zoned.c and delete block/blk-mq-debugfs-zone.c.

Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
Reviewed-by: Hannes Reinecke <hare@suse.de>
---
 block/Kconfig                |  4 ----
 block/Makefile               |  1 -
 block/blk-mq-debugfs-zoned.c | 22 ----------------------
 block/blk-mq-debugfs.h       |  2 +-
 block/blk-zoned.c            | 20 ++++++++++++++++++++
 5 files changed, 21 insertions(+), 28 deletions(-)
 delete mode 100644 block/blk-mq-debugfs-zoned.c

Comments

Bart Van Assche March 25, 2024, 10:20 p.m. UTC | #1
On 3/24/24 21:44, Damien Le Moal wrote:
> diff --git a/block/blk-mq-debugfs.h b/block/blk-mq-debugfs.h
> index 9c7d4b6117d4..3ebe2c29b624 100644
> --- a/block/blk-mq-debugfs.h
> +++ b/block/blk-mq-debugfs.h
> @@ -83,7 +83,7 @@ static inline void blk_mq_debugfs_unregister_rqos(struct rq_qos *rqos)
>   }
>   #endif
>   
> -#ifdef CONFIG_BLK_DEBUG_FS_ZONED
> +#if defined(CONFIG_BLK_DEV_ZONED) && defined(CONFIG_BLK_DEBUG_FS)
>   int queue_zone_wlock_show(void *data, struct seq_file *m);
>   #else
>   static inline int queue_zone_wlock_show(void *data, struct seq_file *m)
> diff --git a/block/blk-zoned.c b/block/blk-zoned.c
> index 03222314d649..62160a8675f4 100644
> --- a/block/blk-zoned.c
> +++ b/block/blk-zoned.c
> @@ -22,6 +22,7 @@
>   
>   #include "blk.h"
>   #include "blk-mq-sched.h"
> +#include "blk-mq-debugfs.h"
>   
>   #define ZONE_COND_NAME(name) [BLK_ZONE_COND_##name] = #name
>   static const char *const zone_cond_name[] = {
> @@ -1745,3 +1746,22 @@ void blk_zone_dev_init(void)
>   {
>   	blk_zone_wplugs_cachep = KMEM_CACHE(blk_zone_wplug, SLAB_PANIC);
>   }
> +
> +#ifdef CONFIG_BLK_DEBUG_FS
> +
> +int queue_zone_wlock_show(void *data, struct seq_file *m)
> +{
> +	struct request_queue *q = data;
> +	unsigned int i;
> +
> +	if (!q->disk->seq_zones_wlock)
> +		return 0;
> +
> +	for (i = 0; i < q->disk->nr_zones; i++)
> +		if (test_bit(i, q->disk->seq_zones_wlock))
> +			seq_printf(m, "%u\n", i);
> +
> +	return 0;
> +}
> +
> +#endif

This patch increases the number of #ifdefs in block layer .c files so
I'm not sure that this patch can be considered an improvement.

Thanks,

Bart.
Damien Le Moal March 25, 2024, 11:17 p.m. UTC | #2
On 3/26/24 07:20, Bart Van Assche wrote:
> On 3/24/24 21:44, Damien Le Moal wrote:
>> diff --git a/block/blk-mq-debugfs.h b/block/blk-mq-debugfs.h
>> index 9c7d4b6117d4..3ebe2c29b624 100644
>> --- a/block/blk-mq-debugfs.h
>> +++ b/block/blk-mq-debugfs.h
>> @@ -83,7 +83,7 @@ static inline void blk_mq_debugfs_unregister_rqos(struct rq_qos *rqos)
>>   }
>>   #endif
>>   
>> -#ifdef CONFIG_BLK_DEBUG_FS_ZONED
>> +#if defined(CONFIG_BLK_DEV_ZONED) && defined(CONFIG_BLK_DEBUG_FS)
>>   int queue_zone_wlock_show(void *data, struct seq_file *m);
>>   #else
>>   static inline int queue_zone_wlock_show(void *data, struct seq_file *m)
>> diff --git a/block/blk-zoned.c b/block/blk-zoned.c
>> index 03222314d649..62160a8675f4 100644
>> --- a/block/blk-zoned.c
>> +++ b/block/blk-zoned.c
>> @@ -22,6 +22,7 @@
>>   
>>   #include "blk.h"
>>   #include "blk-mq-sched.h"
>> +#include "blk-mq-debugfs.h"
>>   
>>   #define ZONE_COND_NAME(name) [BLK_ZONE_COND_##name] = #name
>>   static const char *const zone_cond_name[] = {
>> @@ -1745,3 +1746,22 @@ void blk_zone_dev_init(void)
>>   {
>>   	blk_zone_wplugs_cachep = KMEM_CACHE(blk_zone_wplug, SLAB_PANIC);
>>   }
>> +
>> +#ifdef CONFIG_BLK_DEBUG_FS
>> +
>> +int queue_zone_wlock_show(void *data, struct seq_file *m)
>> +{
>> +	struct request_queue *q = data;
>> +	unsigned int i;
>> +
>> +	if (!q->disk->seq_zones_wlock)
>> +		return 0;
>> +
>> +	for (i = 0; i < q->disk->nr_zones; i++)
>> +		if (test_bit(i, q->disk->seq_zones_wlock))
>> +			seq_printf(m, "%u\n", i);
>> +
>> +	return 0;
>> +}
>> +
>> +#endif
> 
> This patch increases the number of #ifdefs in block layer .c files so
> I'm not sure that this patch can be considered an improvement.

Not following... This removes CONFIG_BLK_DEBUG_FS_ZONED and only add this single
ifdef here in blk-zoned.c instead of testing the removed config in
blk-mq-debugfs.h. Same count and one less config. Sure, there is one ifdef in c
code added. But I *really* prefer that instead of having zone related code all
over the place guarded with #if defined(CONFIG_BLK_DEV_ZONED).

So unless Jens is against this change, I am keeping it.

> 
> Thanks,
> 
> Bart.
diff mbox series

Patch

diff --git a/block/Kconfig b/block/Kconfig
index 1de4682d48cc..9f647149fbee 100644
--- a/block/Kconfig
+++ b/block/Kconfig
@@ -198,10 +198,6 @@  config BLK_DEBUG_FS
 	Unless you are building a kernel for a tiny system, you should
 	say Y here.
 
-config BLK_DEBUG_FS_ZONED
-       bool
-       default BLK_DEBUG_FS && BLK_DEV_ZONED
-
 config BLK_SED_OPAL
 	bool "Logic for interfacing with Opal enabled SEDs"
 	depends on KEYS
diff --git a/block/Makefile b/block/Makefile
index 46ada9dc8bbf..168150b9c510 100644
--- a/block/Makefile
+++ b/block/Makefile
@@ -33,7 +33,6 @@  obj-$(CONFIG_BLK_MQ_VIRTIO)	+= blk-mq-virtio.o
 obj-$(CONFIG_BLK_DEV_ZONED)	+= blk-zoned.o
 obj-$(CONFIG_BLK_WBT)		+= blk-wbt.o
 obj-$(CONFIG_BLK_DEBUG_FS)	+= blk-mq-debugfs.o
-obj-$(CONFIG_BLK_DEBUG_FS_ZONED)+= blk-mq-debugfs-zoned.o
 obj-$(CONFIG_BLK_SED_OPAL)	+= sed-opal.o
 obj-$(CONFIG_BLK_PM)		+= blk-pm.o
 obj-$(CONFIG_BLK_INLINE_ENCRYPTION)	+= blk-crypto.o blk-crypto-profile.o \
diff --git a/block/blk-mq-debugfs-zoned.c b/block/blk-mq-debugfs-zoned.c
deleted file mode 100644
index a77b099c34b7..000000000000
--- a/block/blk-mq-debugfs-zoned.c
+++ /dev/null
@@ -1,22 +0,0 @@ 
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Copyright (C) 2017 Western Digital Corporation or its affiliates.
- */
-
-#include <linux/blkdev.h>
-#include "blk-mq-debugfs.h"
-
-int queue_zone_wlock_show(void *data, struct seq_file *m)
-{
-	struct request_queue *q = data;
-	unsigned int i;
-
-	if (!q->disk->seq_zones_wlock)
-		return 0;
-
-	for (i = 0; i < q->disk->nr_zones; i++)
-		if (test_bit(i, q->disk->seq_zones_wlock))
-			seq_printf(m, "%u\n", i);
-
-	return 0;
-}
diff --git a/block/blk-mq-debugfs.h b/block/blk-mq-debugfs.h
index 9c7d4b6117d4..3ebe2c29b624 100644
--- a/block/blk-mq-debugfs.h
+++ b/block/blk-mq-debugfs.h
@@ -83,7 +83,7 @@  static inline void blk_mq_debugfs_unregister_rqos(struct rq_qos *rqos)
 }
 #endif
 
-#ifdef CONFIG_BLK_DEBUG_FS_ZONED
+#if defined(CONFIG_BLK_DEV_ZONED) && defined(CONFIG_BLK_DEBUG_FS)
 int queue_zone_wlock_show(void *data, struct seq_file *m);
 #else
 static inline int queue_zone_wlock_show(void *data, struct seq_file *m)
diff --git a/block/blk-zoned.c b/block/blk-zoned.c
index 03222314d649..62160a8675f4 100644
--- a/block/blk-zoned.c
+++ b/block/blk-zoned.c
@@ -22,6 +22,7 @@ 
 
 #include "blk.h"
 #include "blk-mq-sched.h"
+#include "blk-mq-debugfs.h"
 
 #define ZONE_COND_NAME(name) [BLK_ZONE_COND_##name] = #name
 static const char *const zone_cond_name[] = {
@@ -1745,3 +1746,22 @@  void blk_zone_dev_init(void)
 {
 	blk_zone_wplugs_cachep = KMEM_CACHE(blk_zone_wplug, SLAB_PANIC);
 }
+
+#ifdef CONFIG_BLK_DEBUG_FS
+
+int queue_zone_wlock_show(void *data, struct seq_file *m)
+{
+	struct request_queue *q = data;
+	unsigned int i;
+
+	if (!q->disk->seq_zones_wlock)
+		return 0;
+
+	for (i = 0; i < q->disk->nr_zones; i++)
+		if (test_bit(i, q->disk->seq_zones_wlock))
+			seq_printf(m, "%u\n", i);
+
+	return 0;
+}
+
+#endif