Subject: Re: [PATCH] Convert multiple netdev_info messages to netdev_dbg

From: Joe Perches <[email-masked]>
Date: Thu, 15 Jun 2017 19:03:46 -0700

On Thu, 2017-06-15 at 18:49 -0700, Jay Vosburgh wrote:
> Joe Perches <[email-masked]> wrote:
> 
> > On Thu, 2017-06-15 at 19:14 +0100, Michael J Dilmore wrote:
> > > Multiple netdev_info messages clutter kernel output. Also add netdev_dbg for packets per slave.
> > 
> > []
> > > diff --git a/drivers/net/bonding/bond_options.c b/drivers/net/bonding/bond_options.c
> > 
> > []
> > > @@ -9,6 +9,8 @@
> > >   * (at your option) any later version.
> > >   */
> > >   
> > > +#define DEBUG 1
> > 
> > Is defining DEBUG really worthwhile.

Question was really if it's worthwhile to have
that logging always emitted at debug level or if
it's only useful when debugging.

I generally think smaller object code is better
and if it's not necessary, debugging output is
better not enabled/compiled into the kernel.

> 	I don't believe so, since if CONFIG_DYNAMIC_DEBUG is not
> enabled, having #define DEBUG will enable all of the netdev_dbg messages
> unconditionally, which is the opposite of the stated purpose of the
> patch.  If DYNAMIC_DEBUG is enabled, having DEBUG doesn't do anything
> that I can see.

Having #define DEBUG means that by default the
dynamic_debug output logging is enabled in the
control file, otherwise it's not emitted unless
it's specifically enabled by a user.

include/linux/dynamic_debug.h:#ifdef DEBUG
include/linux/dynamic_debug.h-#define DEFINE_DYNAMIC_DEBUG_METADATA(name, fmt) \
include/linux/dynamic_debug.h-  DEFINE_DYNAMIC_DEBUG_METADATA_KEY(name, fmt, .key.dd_key_true, \
include/linux/dynamic_debug.h-                                    (STATIC_KEY_TRUE_INIT))