On Thu 01-08-13 12:21:05, Joe Perches wrote:
> On Thu, 2013-08-01 at 15:01 -0400, Paul Gortmaker wrote:
> > Backport of jbd2 commit 169f1a2a87aae44034da4b9f81be1683d33de6d0
> > ("jbd2: use a single printk for jbd_debug()")
> 
> Hey Paul.
> 
> > diff --git a/include/linux/jbd.h b/include/linux/jbd.h
> []
> > @@ -56,16 +56,13 @@
> >  #define JBD_EXPENSIVE_CHECKING
> >  extern ushort journal_enable_debug;
> >  
> > -#define jbd_debug(n, f, a...)                                              
> > \
> > -   do {                                                            \
> > -           if ((n) <= journal_enable_debug) {                      \
> > -                   printk (KERN_DEBUG "(%s, %d): %s: ",            \
> > -                           __FILE__, __LINE__, __func__);  \
> > -                   printk (f, ## a);                               \
> > -           }                                                       \
> > -   } while (0)
> > +void __jbd_debug(int level, const char *file, const char *func,
> > +            unsigned int line, const char *fmt, ...
> > +
> > +#define jbd_debug(n, fmt, a...) \
> > +   __jbd_debug((n), __FILE__, __func__, __LINE__, (fmt), ##a)
> >  #else
> > -#define jbd_debug(f, a...) /**/
> > +#define jbd_debug(n, fmt, a...)    /**/
> >  #endif
> 
> It might have been (and may still be) simpler/better
> to use a single macro like:
> 
> #define jbd_dbg(n, fmt, ...)                  \
> do {                                          \
>       if ((n) < journal_enable_debug)         \
>               pr_debug(fmt, ##__VA_ARGS__);   \
> } while (0)
> 
> and then use dynamic_debug to add the __func__,
> and __LINE__ when desired.
> 
> echo -n 'module jbd +pfl' <dynamic_debug>/control
  Umm, I like the Paul's way better. Sure we have to jump into
__jbd_debug() even if we won't write any message because debug level is low
but OTOH jbd_debug() is non-empty only when JBD_EXPENSIVE_CHECKING is
enabled. So there the extra call is fine.
                                                                Honza
-- 
Jan Kara <j...@suse.cz>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to