Re: [PATCH] kernel.h: Add a never optimized away pr_dbg forprintk(KERN_DEBUG pr_fmt(fmt)...)

From: Joe Perches
Date: Wed Oct 14 2009 - 00:22:55 EST


On Tue, 2009-10-13 at 20:34 -0700, David Rientjes wrote:
> On Tue, 13 Oct 2009, Joe Perches wrote:
> > Many developers use a logging message that
> > is printed at KERN_DEBUG level that is always
> > printed regardless of #define DEBUG levels.
> > pr_debug can be optimized away to a null statement.
> > Add a pr_dbg message that prints at KERN_DEBUG
> > level that uses pr_fmt() that can not be optimized
> > to nothing.
> pr_dbg() is horribly misnamed, it doesn't indicate why it exists vs.
> pr_debug() at all.

Partially true, it's reasonably named because it's very short.

> Future users will undoubtedly use it by mistake when
> they only really mean for the message to be emitted on DEBUG because
> they've seen it in other places and haven't checked the implementation.

The cost of using pr_dbg instead of pr_debug isn't high.

The primary benefit is getting an automatic pr_fmt
and shorter code.

> I'd suggest pr_debug_force(), even though it's much longer (although still
> shorter than printk(KERN_DEBUG)).

pr_dbg allows longer format strings without exceeding 80 chars.

printk(KERN_DEBUG
pr_debug_force
pr_dbg_always
pr_dbg_noopt

Other suggestions?

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/