lkml.org 
[lkml]   [2013]   [Aug]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 4/4] jbd: use a single printk for jbd_debug()
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 <jack@suse.cz>
SUSE Labs, CR


\
 
 \ /
  Last update: 2013-08-02 00:41    [W:0.095 / U:0.052 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site