From: Jason Baron <jbaron@redhat.com>
To: Joe Perches <joe@perches.com>
Cc: gregkh@suse.de, jim.cromie@gmail.com, bvanassche@acm.org,
linux-kernel@vger.kernel.org, davem@davemloft.net,
aloisio.almeida@openbossa.org, netdev@vger.kernel.org
Subject: Re: [PATCH 08/10] dynamic_debug: make netif_dbg() call __netdev_printk()
Date: Thu, 7 Jul 2011 10:13:00 -0400 [thread overview]
Message-ID: <20110707141259.GA2536@redhat.com> (raw)
In-Reply-To: <1309989543.1710.19.camel@Joe-Laptop>
On Wed, Jul 06, 2011 at 02:59:03PM -0700, Joe Perches wrote:
> On Wed, 2011-07-06 at 13:25 -0400, Jason Baron wrote:
> > From: Jason Baron <jbaron@redhat.com>
> >
> > Previously, netif_dbg() was using dynamic_dev_dbg() to perform
> > the underlying printk. Fix it to use __netdev_printk(), instead.
> >
> > Cc: David S. Miller <davem@davemloft.net>
> > Signed-off-by: Jason Baron <jbaron@redhat.com>
> > ---
> > include/linux/dynamic_debug.h | 12 ++++++++++++
> > include/linux/netdevice.h | 6 ++----
> > 2 files changed, 14 insertions(+), 4 deletions(-)
> >
> > diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h
> []
> > +#define dynamic_netif_dbg(dev, cond, 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)) { \
> > + if (cond) \
> > + __dynamic_netdev_dbg(&descriptor, dev, fmt, ##__VA_ARGS__);\
> > + } \
> > + } while (0)
> > +
>
> Just nits:
>
> I think it'd be better to use
> #define dynamic_netif_dbg(etc) \
> do { \
> etc...
> } while (0)
>
> so that there aren't 2 consecutive close braces at the same indent level.
>
> and maybe just use one test
>
> if (unlikely(descriptor.enabled) && cond)
> __dynamic_netdev_dbg(&descriptor, dev, fmt, ##__VA_ARGS__);
>
If you look at the next patch, 9/10, I've combined the tests there
just as you've described. I agree, that it would be better if that were
folded into this patch. will fix.
>
> > diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
> > index 9b132ef..99c358f 100644
> > --- a/include/linux/netdevice.h
> > +++ b/include/linux/netdevice.h
> > @@ -2731,10 +2731,8 @@ do { \
> > #elif defined(CONFIG_DYNAMIC_DEBUG)
> > #define netif_dbg(priv, type, netdev, format, args...) \
> > do { \
> > - if (netif_msg_##type(priv)) \
> > - dynamic_dev_dbg((netdev)->dev.parent, \
> > - "%s: " format, \
> > - netdev_name(netdev), ##args); \
> > + dynamic_netif_dbg(netdev, (netif_msg_##type(priv)), \
> > + format, ##args); \
>
> Because you've already added dynamic_netdev_dbg,
> maybe this should be:
>
> #define netif_dbg(priv, type, netdev, format, args...) \
> do { \
> if (netif_msg_##type(priv)) \
> dynamic_netdev_dbg(netdev, format, ##args); \
> } while (0)
>
>
The reason I didn't add it this way is b/c I plan on converting the
outer 'ifs' to the jump label infrastructure - which makes the disabled
case just a no-op and moves the printk and tests out of line.
Until that is done, i could see coding it as you've suggested, but I'd
prefer to leave it as is (and leave future churn to within the dynamic
debug code as opposed to the netdevice.h header).
Thanks,
-Jason
next prev parent reply other threads:[~2011-07-07 14:13 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-06 17:24 [PATCH 00/10] dynamic_debug: various fixes Jason Baron
2011-07-06 17:24 ` [PATCH 01/10] dynamic_debug: Add __dynamic_dev_dbg Jason Baron
2011-07-06 21:46 ` Joe Perches
2011-07-06 17:25 ` [PATCH 07/10] dynamic_debug: make netdev_dbg() call __netdev_printk() Jason Baron
2011-07-06 21:50 ` Joe Perches
2011-07-06 17:25 ` [PATCH 08/10] dynamic_debug: make netif_dbg() " Jason Baron
2011-07-06 21:59 ` Joe Perches
2011-07-07 14:13 ` Jason Baron [this message]
2011-07-07 16:29 ` Joe Perches
2011-07-07 18:09 ` Jason Baron
2011-07-07 21:55 ` Joe Perches
2011-07-06 17:57 ` [PATCH 00/10] dynamic_debug: various fixes Jim Cromie
2011-07-06 18:18 ` Jason Baron
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=20110707141259.GA2536@redhat.com \
--to=jbaron@redhat.com \
--cc=aloisio.almeida@openbossa.org \
--cc=bvanassche@acm.org \
--cc=davem@davemloft.net \
--cc=gregkh@suse.de \
--cc=jim.cromie@gmail.com \
--cc=joe@perches.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).