Re: sched: restore sanity
From: Joe Perches
Date: Sun Dec 20 2009 - 12:57:25 EST
On Sun, 2009-12-20 at 18:36 +0100, Peter Zijlstra wrote:
> On Sun, 2009-12-20 at 09:22 -0800, Joe Perches wrote:
> > On Sun, 2009-12-20 at 16:19 +0100, Peter Zijlstra wrote:
> > > On Sun, 2009-12-20 at 07:05 -0800, San Mehat wrote:
> > > > >> Probably, but the rest is just as annoying, pr_* is crap.
> > > > Oh? Out of curiosity whats wrong with it?
> > > That's what should be asked of printk().
> > pr_<level> offers some things printk cannot:
> > o standardization, eliminates frequent missing KERN_ levels
> > and missing/typo/misspelled module prefixes
> printk(char level, char *fmt, ...);
A change that's not possible without breaking the build of
one rather large body of code.
> Which is something we have precedent for too in fprintf() and syslog().
Huh? Did that break builds?
> > o finer grained ability to eliminate unnecessary messages
> > for embedded systems
> How is that not possible with another solution.
printk is not selective. printk always compiles all
messages, pr_debug eliminates to nothing without DEBUG.
Similar mechanisms are possible for arbitrary pr_<level>.
> > o standardized mechanism to prefix messages with module/function
> Who fucking gives a shit
Apparently the people that prefix.
There are an awful lot of printks with __func__ or
embedded typed function names that I think are senseless.
I think it'd be much more sensible to have some
per module_printk_flags field that controlled whether
or not module/function/line was emitted.
I'm trying to get rid of them slowly and generically.
> > o eventual code reduction via use of a singleton instead of
> > duplicated module/function names
> text reduction?
Yes.
> > o eventual dynamic_debug styled control of prefix by
> > module/function
> Feh, who cares, printk output simply shouldn't be frequent enough to
> need filtering, there's much better solutions for that.
You could name those solutions.
> > There are quite of number of arbitrarily named module wrapper
> > macros and functions that build on printk.
> Then remove them all..
> Are you really arguing to fully deprecate printk()?
I think pr_<level> is a better use.
It's too early to deprecate printk though.
> If not this is all
> going to be useless since I'll simply keep using printk().
I didn't suggest you shouldn't. Use what works for you.
--
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/