All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Baron <jbaron@redhat.com>
To: Joe Perches <joe@perches.com>, gregkh@suse.de
Cc: jim.cromie@gmail.com, bvanassche@acm.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 09/11 re-post] dynamic_debug: consolidate repetitive struct _ddebug descriptor definitions
Date: Thu, 11 Aug 2011 16:52:53 -0400	[thread overview]
Message-ID: <20110811205253.GC6670@redhat.com> (raw)
In-Reply-To: <1313089327.13877.11.camel@Joe-Laptop>

On Thu, Aug 11, 2011 at 12:02:06PM -0700, Joe Perches wrote:
> > From: Jason Baron <jbaron@redhat.com>
> > Replace the repetitive  struct _ddebug descriptor definitions with
> > a new DYNAMIC_DEBUG_META_DATA(fmt) macro.
> 
> Hey Jason.
> 
> I think some improvements can be made to this one.
> 
> > diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h
> []
> > @@ -54,33 +54,28 @@ extern int __dynamic_netdev_dbg(struct _ddebug *descriptor,
> >  			     const char *fmt, ...)
> >  	__attribute__ ((format (printf, 3, 4)));
> >  
> > +#define DYNAMIC_DEBUG_METADATA(fmt)				\
> > +	static struct _ddebug descriptor			\
> > +	__used							\
> > +	__attribute__((section("__verbose"), aligned(8))) =	\
> > +	{ KBUILD_MODNAME, __func__, __FILE__, fmt, __LINE__,	\
> > +		_DPRINTK_FLAGS_DEFAULT };
> > +
> 
> I think this is unclear and should be:
> 
> #define DECLARE_DYNAMIC_DEBUG_METADATA(name, fmt)		\
> 	static struct _ddebug name				\
> 	__used							\
> 	__attribute__((section("__verbose"), aligned(8))) =	\
> 	{ KBUILD_MODNAME, __func__, __FILE__, fmt, __LINE__,	\
> 		_DPRINTK_FLAGS_DEFAULT }
> 
> (extra semicolon at end removed)
> 
> so the uses become:
> 
> >  #define dynamic_dev_dbg(dev, fmt, ...) do {				\
> > -	static struct _ddebug descriptor				\
> > -	__used								\
> > -	__attribute__((section("__verbose"), aligned(8))) =		\
> > -	{ KBUILD_MODNAME, __func__, __FILE__, fmt, __LINE__,		\
> > -		_DPRINTK_FLAGS_DEFAULT };				\
> > +	DYNAMIC_DEBUG_METADATA(fmt);					\
> 
> 	DECLARE_DYNAMIC_DEBUG_METADATA(descriptor, fmt);
> 
> >  	if (unlikely(descriptor.enabled))				\
> > -		__dynamic_dev_dbg(&descriptor, dev, fmt, ##__VA_ARGS__);	\
> > +		__dynamic_dev_dbg(&descriptor, dev, fmt, ##__VA_ARGS__);\
> >  	} while (0)
> 
> so then there aren't any magic variable names.
> 
> cheers, Joe
> 

Ok, Thanks for the review. Here's a re-post of it:

From: Jason Baron <jbaron@redhat.com>

Replace the repetitive struct _ddebug descriptor definitions with
a new DECLARE_DYNAMIC_DEBUG_METADATA(name, fmt) macro.

Signed-off-by: Jason Baron <jbaron@redhat.com>
---

 include/linux/dynamic_debug.h |   33 ++++++++++++++-------------------
 1 files changed, 14 insertions(+), 19 deletions(-)


diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h
index feaac1e..d1a78b2 100644
--- a/include/linux/dynamic_debug.h
+++ b/include/linux/dynamic_debug.h
@@ -54,33 +54,28 @@ extern int __dynamic_netdev_dbg(struct _ddebug *descriptor,
 			     const char *fmt, ...)
 	__attribute__ ((format (printf, 3, 4)));
 
+#define DECLARE_DYNAMIC_DEBUG_METADATA(name, fmt)		\
+	static struct _ddebug name				\
+	__used							\
+	__attribute__((section("__verbose"), aligned(8))) =	\
+	{ KBUILD_MODNAME, __func__, __FILE__, fmt, __LINE__,	\
+		_DPRINTK_FLAGS_DEFAULT }
+
 #define dynamic_pr_debug(fmt, ...) do {					\
-	static struct _ddebug descriptor				\
-	__used								\
-	__attribute__((section("__verbose"), aligned(8))) =		\
-	{ KBUILD_MODNAME, __func__, __FILE__, fmt, __LINE__,		\
-		_DPRINTK_FLAGS_DEFAULT };				\
+	DECLARE_DYNAMIC_DEBUG_METADATA(descriptor, fmt);		\
 	if (unlikely(descriptor.enabled))				\
-		__dynamic_pr_debug(&descriptor, pr_fmt(fmt), ##__VA_ARGS__); \
+		__dynamic_pr_debug(&descriptor, pr_fmt(fmt), ##__VA_ARGS__);\
 	} while (0)
 
 #define dynamic_dev_dbg(dev, fmt, ...) do {				\
-	static struct _ddebug descriptor				\
-	__used								\
-	__attribute__((section("__verbose"), aligned(8))) =		\
-	{ KBUILD_MODNAME, __func__, __FILE__, fmt, __LINE__,		\
-		_DPRINTK_FLAGS_DEFAULT };				\
+	DECLARE_DYNAMIC_DEBUG_METADATA(descriptor, fmt);		\
 	if (unlikely(descriptor.enabled))				\
-		__dynamic_dev_dbg(&descriptor, dev, fmt, ##__VA_ARGS__);	\
+		__dynamic_dev_dbg(&descriptor, dev, fmt, ##__VA_ARGS__);\
 	} while (0)
 
-#define dynamic_netdev_dbg(dev, fmt, ...) do {				\
-	static struct _ddebug descriptor				\
-	__used								\
-	__attribute__((section("__verbose"), aligned(8))) =		\
-	{ KBUILD_MODNAME, __func__, __FILE__, fmt, __LINE__,		\
-		_DPRINTK_FLAGS_DEFAULT };				\
-	if (unlikely(descriptor.enabled))				\
+#define dynamic_netdev_dbg(dev, fmt, ...) do {				   \
+	DECLARE_DYNAMIC_DEBUG_METADATA(descriptor, fmt);		   \
+	if (unlikely(descriptor.enabled))				   \
 		__dynamic_netdev_dbg(&descriptor, dev, fmt, ##__VA_ARGS__);\
 	} while (0)
 

  reply	other threads:[~2011-08-11 20:53 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-11 18:36 [PATCH 00/11] various fixes v3 Jason Baron
2011-08-11 18:36 ` [PATCH 01/11] dynamic_debug: Add __dynamic_dev_dbg Jason Baron
2011-08-11 18:36 ` [PATCH 02/11] dynamic_debug: Consolidate prefix output to single routine Jason Baron
2011-08-11 18:36 ` [PATCH 03/11] dynamic_debug: Remove uses of KERN_CONT in dynamic_emit_prefix Jason Baron
2011-08-11 18:36 ` [PATCH 04/11] dynamic_debug: Convert printks to pr_<level> Jason Baron
2011-08-11 18:36 ` [PATCH 05/11] dynamic_debug: remove unused control variables Jason Baron
2011-08-11 18:36 ` [PATCH 06/11] dynamic_debug: add Jason Baron as maintainer Jason Baron
2011-08-11 18:36 ` [PATCH 07/11] dynamic_debug: make netdev_dbg() call __netdev_printk() Jason Baron
2011-09-01 14:57   ` [PATCH ] dynamic_debug: call __netdev_printk only for CONFIG_NET Arnd Bergmann
2011-09-01 15:18     ` Jason Baron
2011-09-18  8:27       ` Greg KH
2011-09-18 17:21         ` Randy Dunlap
2011-09-18 18:27           ` Greg KH
2011-09-18 18:42             ` Randy Dunlap
2011-09-19 13:48         ` Jason Baron
2011-09-19 16:49           ` Randy Dunlap
2011-08-11 18:36 ` [PATCH 08/11] dynamic_debug: make netif_dbg() call __netdev_printk() Jason Baron
2011-08-11 18:36 ` [PATCH 09/11] dynamic_debug: consolidate repetitive struct _ddebug descriptor definitions Jason Baron
2011-08-11 19:02   ` Joe Perches
2011-08-11 20:52     ` Jason Baron [this message]
2011-08-12  6:39       ` [PATCH 09/11 re-post] " Joe Perches
2011-08-15 20:44         ` [PATCH 09/11 re-post take #2] " Jason Baron
2011-08-15 23:12           ` Joe Perches
2011-08-16 13:59             ` Jason Baron
2011-08-11 18:37 ` [PATCH 10/11] dynamic_debug: remove num_enabled accounting Jason Baron
2011-08-11 18:37 ` [PATCH 11/11] dynamic_debug: use a single printk() to emit msgs Jason Baron
2011-08-23  1:32 ` [PATCH 00/11] various fixes v3 Greg KH
2011-08-23 13:54   ` Jason Baron
2011-08-23 15:15     ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110811205253.GC6670@redhat.com \
    --to=jbaron@redhat.com \
    --cc=bvanassche@acm.org \
    --cc=gregkh@suse.de \
    --cc=jim.cromie@gmail.com \
    --cc=joe@perches.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.