* [PATCHv2 0/2] device-mapper: use dynamic debug
@ 2020-05-14 6:09 Hannes Reinecke
2020-05-14 6:09 ` [PATCH 1/2] device-mapper: use dynamic debug instead of compile-time config option Hannes Reinecke
2020-05-14 6:09 ` [PATCH 2/2] dm-zoned: remove spurious newlines from debugging messages Hannes Reinecke
0 siblings, 2 replies; 7+ messages in thread
From: Hannes Reinecke @ 2020-05-14 6:09 UTC (permalink / raw)
To: Mike Snitzer; +Cc: Damien LeMoal, dm-devel
Hi all,
here's an updated version of my earlier patch to switch to dynamic
debug instead of using a compile-time option.
I've modified the initial patch as suggested by Mike, and also fixed
up stray newlines which had crept in with some debugging messages
in dm-zoned.
Hannes Reinecke (2):
device-mapper: use dynamic debug instead of compile-time config option
dm-zoned: remove spurious newlines from debugging messages
drivers/md/dm-zoned-reclaim.c | 4 ++--
drivers/md/dm-zoned-target.c | 4 ++--
include/linux/device-mapper.h | 5 ++---
3 files changed, 6 insertions(+), 7 deletions(-)
--
2.16.4
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/2] device-mapper: use dynamic debug instead of compile-time config option
2020-05-14 6:09 [PATCHv2 0/2] device-mapper: use dynamic debug Hannes Reinecke
@ 2020-05-14 6:09 ` Hannes Reinecke
2020-05-14 7:53 ` Damien Le Moal
2020-05-14 17:15 ` Mike Snitzer
2020-05-14 6:09 ` [PATCH 2/2] dm-zoned: remove spurious newlines from debugging messages Hannes Reinecke
1 sibling, 2 replies; 7+ messages in thread
From: Hannes Reinecke @ 2020-05-14 6:09 UTC (permalink / raw)
To: Mike Snitzer; +Cc: Damien LeMoal, dm-devel
Switch to use dynamic debug to avoid having recompile the kernel
just to enable debugging messages.
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
include/linux/device-mapper.h | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/include/linux/device-mapper.h b/include/linux/device-mapper.h
index af48d9da3916..4694e1bb4196 100644
--- a/include/linux/device-mapper.h
+++ b/include/linux/device-mapper.h
@@ -557,12 +557,11 @@ void *dm_vcalloc(unsigned long nmemb, unsigned long elem_size);
#define DMINFO(fmt, ...) pr_info(DM_FMT(fmt), ##__VA_ARGS__)
#define DMINFO_LIMIT(fmt, ...) pr_info_ratelimited(DM_FMT(fmt), ##__VA_ARGS__)
+#define DMDEBUG_LIMIT(fmt, ...) pr_debug_ratelimited(DM_FMT(fmt), ##__VA_ARGS__)
#ifdef CONFIG_DM_DEBUG
#define DMDEBUG(fmt, ...) printk(KERN_DEBUG DM_FMT(fmt), ##__VA_ARGS__)
-#define DMDEBUG_LIMIT(fmt, ...) pr_debug_ratelimited(DM_FMT(fmt), ##__VA_ARGS__)
#else
-#define DMDEBUG(fmt, ...) no_printk(fmt, ##__VA_ARGS__)
-#define DMDEBUG_LIMIT(fmt, ...) no_printk(fmt, ##__VA_ARGS__)
+#define DMDEBUG(fmt, ...) pr_debug(DM_FMT(fmt), ##__VA_ARGS__)
#endif
#define DMEMIT(x...) sz += ((sz >= maxlen) ? \
--
2.16.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/2] dm-zoned: remove spurious newlines from debugging messages
2020-05-14 6:09 [PATCHv2 0/2] device-mapper: use dynamic debug Hannes Reinecke
2020-05-14 6:09 ` [PATCH 1/2] device-mapper: use dynamic debug instead of compile-time config option Hannes Reinecke
@ 2020-05-14 6:09 ` Hannes Reinecke
2020-05-14 7:53 ` Damien Le Moal
1 sibling, 1 reply; 7+ messages in thread
From: Hannes Reinecke @ 2020-05-14 6:09 UTC (permalink / raw)
To: Mike Snitzer; +Cc: Damien LeMoal, dm-devel
DMDEBUG will already add a newline to the logging messages, so we
shouldn't be adding it to the message itself.
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
drivers/md/dm-zoned-reclaim.c | 4 ++--
drivers/md/dm-zoned-target.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/md/dm-zoned-reclaim.c b/drivers/md/dm-zoned-reclaim.c
index 39ea0d5d4706..4bfa61540b9c 100644
--- a/drivers/md/dm-zoned-reclaim.c
+++ b/drivers/md/dm-zoned-reclaim.c
@@ -405,7 +405,7 @@ static int dmz_do_reclaim(struct dmz_reclaim *zrc)
ret = dmz_flush_metadata(zrc->metadata);
if (ret) {
- DMDEBUG("(%s): Metadata flush for zone %u failed, err %d\n",
+ DMDEBUG("(%s): Metadata flush for zone %u failed, err %d",
dmz_metadata_label(zmd), rzone->id, ret);
return ret;
}
@@ -493,7 +493,7 @@ static void dmz_reclaim_work(struct work_struct *work)
ret = dmz_do_reclaim(zrc);
if (ret) {
- DMDEBUG("(%s): Reclaim error %d\n",
+ DMDEBUG("(%s): Reclaim error %d",
dmz_metadata_label(zmd), ret);
if (!dmz_check_dev(zmd))
return;
diff --git a/drivers/md/dm-zoned-target.c b/drivers/md/dm-zoned-target.c
index ea43f6892ced..a3d572da70ad 100644
--- a/drivers/md/dm-zoned-target.c
+++ b/drivers/md/dm-zoned-target.c
@@ -515,7 +515,7 @@ static void dmz_flush_work(struct work_struct *work)
/* Flush dirty metadata blocks */
ret = dmz_flush_metadata(dmz->metadata);
if (ret)
- DMDEBUG("(%s): Metadata flush failed, rc=%d\n",
+ DMDEBUG("(%s): Metadata flush failed, rc=%d",
dmz_metadata_label(dmz->metadata), ret);
/* Process queued flush requests */
@@ -679,7 +679,7 @@ static int dmz_map(struct dm_target *ti, struct bio *bio)
/* Now ready to handle this BIO */
ret = dmz_queue_chunk_work(dmz, bio);
if (ret) {
- DMDEBUG("(%s): BIO op %d, can't process chunk %llu, err %i\n",
+ DMDEBUG("(%s): BIO op %d, can't process chunk %llu, err %i",
dmz_metadata_label(zmd),
bio_op(bio), (u64)dmz_bio_chunk(zmd, bio),
ret);
--
2.16.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] device-mapper: use dynamic debug instead of compile-time config option
2020-05-14 6:09 ` [PATCH 1/2] device-mapper: use dynamic debug instead of compile-time config option Hannes Reinecke
@ 2020-05-14 7:53 ` Damien Le Moal
2020-05-14 16:26 ` Mike Snitzer
2020-05-14 17:15 ` Mike Snitzer
1 sibling, 1 reply; 7+ messages in thread
From: Damien Le Moal @ 2020-05-14 7:53 UTC (permalink / raw)
To: Hannes Reinecke, Mike Snitzer; +Cc: dm-devel
On 2020/05/14 15:09, Hannes Reinecke wrote:
> Switch to use dynamic debug to avoid having recompile the kernel
> just to enable debugging messages.
>
> Signed-off-by: Hannes Reinecke <hare@suse.de>
> ---
> include/linux/device-mapper.h | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/include/linux/device-mapper.h b/include/linux/device-mapper.h
> index af48d9da3916..4694e1bb4196 100644
> --- a/include/linux/device-mapper.h
> +++ b/include/linux/device-mapper.h
> @@ -557,12 +557,11 @@ void *dm_vcalloc(unsigned long nmemb, unsigned long elem_size);
> #define DMINFO(fmt, ...) pr_info(DM_FMT(fmt), ##__VA_ARGS__)
> #define DMINFO_LIMIT(fmt, ...) pr_info_ratelimited(DM_FMT(fmt), ##__VA_ARGS__)
>
> +#define DMDEBUG_LIMIT(fmt, ...) pr_debug_ratelimited(DM_FMT(fmt), ##__VA_ARGS__)
Why do you move this one out of the #ifdef CONFIG_DM_DEBUG scope ?
> #ifdef CONFIG_DM_DEBUG
> #define DMDEBUG(fmt, ...) printk(KERN_DEBUG DM_FMT(fmt), ##__VA_ARGS__)
> -#define DMDEBUG_LIMIT(fmt, ...) pr_debug_ratelimited(DM_FMT(fmt), ##__VA_ARGS__)
> #else
> -#define DMDEBUG(fmt, ...) no_printk(fmt, ##__VA_ARGS__)
> -#define DMDEBUG_LIMIT(fmt, ...) no_printk(fmt, ##__VA_ARGS__)
> +#define DMDEBUG(fmt, ...) pr_debug(DM_FMT(fmt), ##__VA_ARGS__)
> #endif
>
> #define DMEMIT(x...) sz += ((sz >= maxlen) ? \
>
--
Damien Le Moal
Western Digital Research
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] dm-zoned: remove spurious newlines from debugging messages
2020-05-14 6:09 ` [PATCH 2/2] dm-zoned: remove spurious newlines from debugging messages Hannes Reinecke
@ 2020-05-14 7:53 ` Damien Le Moal
0 siblings, 0 replies; 7+ messages in thread
From: Damien Le Moal @ 2020-05-14 7:53 UTC (permalink / raw)
To: Hannes Reinecke, Mike Snitzer; +Cc: dm-devel
On 2020/05/14 15:09, Hannes Reinecke wrote:
> DMDEBUG will already add a newline to the logging messages, so we
> shouldn't be adding it to the message itself.
>
> Signed-off-by: Hannes Reinecke <hare@suse.de>
> ---
> drivers/md/dm-zoned-reclaim.c | 4 ++--
> drivers/md/dm-zoned-target.c | 4 ++--
> 2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/md/dm-zoned-reclaim.c b/drivers/md/dm-zoned-reclaim.c
> index 39ea0d5d4706..4bfa61540b9c 100644
> --- a/drivers/md/dm-zoned-reclaim.c
> +++ b/drivers/md/dm-zoned-reclaim.c
> @@ -405,7 +405,7 @@ static int dmz_do_reclaim(struct dmz_reclaim *zrc)
>
> ret = dmz_flush_metadata(zrc->metadata);
> if (ret) {
> - DMDEBUG("(%s): Metadata flush for zone %u failed, err %d\n",
> + DMDEBUG("(%s): Metadata flush for zone %u failed, err %d",
> dmz_metadata_label(zmd), rzone->id, ret);
> return ret;
> }
> @@ -493,7 +493,7 @@ static void dmz_reclaim_work(struct work_struct *work)
>
> ret = dmz_do_reclaim(zrc);
> if (ret) {
> - DMDEBUG("(%s): Reclaim error %d\n",
> + DMDEBUG("(%s): Reclaim error %d",
> dmz_metadata_label(zmd), ret);
> if (!dmz_check_dev(zmd))
> return;
> diff --git a/drivers/md/dm-zoned-target.c b/drivers/md/dm-zoned-target.c
> index ea43f6892ced..a3d572da70ad 100644
> --- a/drivers/md/dm-zoned-target.c
> +++ b/drivers/md/dm-zoned-target.c
> @@ -515,7 +515,7 @@ static void dmz_flush_work(struct work_struct *work)
> /* Flush dirty metadata blocks */
> ret = dmz_flush_metadata(dmz->metadata);
> if (ret)
> - DMDEBUG("(%s): Metadata flush failed, rc=%d\n",
> + DMDEBUG("(%s): Metadata flush failed, rc=%d",
> dmz_metadata_label(dmz->metadata), ret);
>
> /* Process queued flush requests */
> @@ -679,7 +679,7 @@ static int dmz_map(struct dm_target *ti, struct bio *bio)
> /* Now ready to handle this BIO */
> ret = dmz_queue_chunk_work(dmz, bio);
> if (ret) {
> - DMDEBUG("(%s): BIO op %d, can't process chunk %llu, err %i\n",
> + DMDEBUG("(%s): BIO op %d, can't process chunk %llu, err %i",
> dmz_metadata_label(zmd),
> bio_op(bio), (u64)dmz_bio_chunk(zmd, bio),
> ret);
>
Reviewed-by: Damien Le Moal <damien.lemoal@wdc.com>
--
Damien Le Moal
Western Digital Research
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] device-mapper: use dynamic debug instead of compile-time config option
2020-05-14 7:53 ` Damien Le Moal
@ 2020-05-14 16:26 ` Mike Snitzer
0 siblings, 0 replies; 7+ messages in thread
From: Mike Snitzer @ 2020-05-14 16:26 UTC (permalink / raw)
To: Damien Le Moal; +Cc: dm-devel
On Thu, May 14 2020 at 3:53am -0400,
Damien Le Moal <Damien.LeMoal@wdc.com> wrote:
> On 2020/05/14 15:09, Hannes Reinecke wrote:
> > Switch to use dynamic debug to avoid having recompile the kernel
> > just to enable debugging messages.
> >
> > Signed-off-by: Hannes Reinecke <hare@suse.de>
> > ---
> > include/linux/device-mapper.h | 5 ++---
> > 1 file changed, 2 insertions(+), 3 deletions(-)
> >
> > diff --git a/include/linux/device-mapper.h b/include/linux/device-mapper.h
> > index af48d9da3916..4694e1bb4196 100644
> > --- a/include/linux/device-mapper.h
> > +++ b/include/linux/device-mapper.h
> > @@ -557,12 +557,11 @@ void *dm_vcalloc(unsigned long nmemb, unsigned long elem_size);
> > #define DMINFO(fmt, ...) pr_info(DM_FMT(fmt), ##__VA_ARGS__)
> > #define DMINFO_LIMIT(fmt, ...) pr_info_ratelimited(DM_FMT(fmt), ##__VA_ARGS__)
> >
> > +#define DMDEBUG_LIMIT(fmt, ...) pr_debug_ratelimited(DM_FMT(fmt), ##__VA_ARGS__)
>
> Why do you move this one out of the #ifdef CONFIG_DM_DEBUG scope ?
I'd imagine because it already uses dynamic debugging and is useful even
if CONFIG_DM_DEBUG isn't set. Makes sense to me. I'll add a note about
it in the commit header though.
Mike
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] device-mapper: use dynamic debug instead of compile-time config option
2020-05-14 6:09 ` [PATCH 1/2] device-mapper: use dynamic debug instead of compile-time config option Hannes Reinecke
2020-05-14 7:53 ` Damien Le Moal
@ 2020-05-14 17:15 ` Mike Snitzer
1 sibling, 0 replies; 7+ messages in thread
From: Mike Snitzer @ 2020-05-14 17:15 UTC (permalink / raw)
To: Hannes Reinecke; +Cc: Damien LeMoal, dm-devel
On Thu, May 14 2020 at 2:09am -0400,
Hannes Reinecke <hare@suse.de> wrote:
> Switch to use dynamic debug to avoid having recompile the kernel
> just to enable debugging messages.
>
> Signed-off-by: Hannes Reinecke <hare@suse.de>
FYI, I decided to always use pr_debug* rather than preserve using printk
if CONFIG_DM_DEBUG is enabled. More consistent and less surprising for
a developer (to have to reason through how to enable debugging).
May cause initial surprise if debugging messages disappear despite
CONFIG_DM_DEBUG being enabled... but pretty sure DM developers can cope
(and/or help non-developers) as needed.
Patches were staged for 5.8, I also added an additional related cleanup:
https://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git/log/?h=dm-5.8
Thanks,
Mike
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2020-05-14 17:15 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-14 6:09 [PATCHv2 0/2] device-mapper: use dynamic debug Hannes Reinecke
2020-05-14 6:09 ` [PATCH 1/2] device-mapper: use dynamic debug instead of compile-time config option Hannes Reinecke
2020-05-14 7:53 ` Damien Le Moal
2020-05-14 16:26 ` Mike Snitzer
2020-05-14 17:15 ` Mike Snitzer
2020-05-14 6:09 ` [PATCH 2/2] dm-zoned: remove spurious newlines from debugging messages Hannes Reinecke
2020-05-14 7:53 ` Damien Le Moal
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.