Re: [PATCH] printk: Add printk_flush() to force buffered text toconsole

From: Greg Kroah-Hartman
Date: Sat Jun 16 2012 - 11:40:45 EST


On Sat, Jun 16, 2012 at 08:59:03AM +0200, Ingo Molnar wrote:
>
> * Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
>
> > On Fri, Jun 15, 2012 at 02:04:30PM +0200, Ingo Molnar wrote:
> > >
> > > * Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> > >
> > > > On Fri, Jun 15, 2012 at 12:22:33PM +0800, Fengguang Wu wrote:
> > > > > > I actually would like to make these more compact. As all my test box
> > > > > > consoles go through serial ports, just booting through this takes more
> > > > > > time the the compile itself.
> > > > >
> > > > > The tests took 23 seconds boot time on one kernel:
> > > > >
> > > > > [ 0.152934] Testing tracer nop: PASSED
> > > > > ...1577 lines total...
> > > > > [ 23.206550] Testing kprobe tracing: OK
> > > > >
> > > > > And 135 seconds in another bloated kernel:
> > > > >
> > > > > [ 115.396441] Testing event 9p_client_req: OK
> > > > > ...2545 lines total...
> > > > > [ 240.268783] Testing kprobe tracing: OK
> > > > >
> > > > > I'd appreciate if the boot time can be reduced. Because I'm doing
> > > > > kernel boot tests for *every single* commits.
> > > > >
> > > > > It may look insane amount of work, but it's still manageable: with 10
> > > > > kvm instances each take 1 minute to boot test a kernel, I can boot
> > > > > test 60*24*10=14400 kernels in one day. That's a rather big number.
> > > > > That allows me to run more cpu/vm/io stress tests for each kernel :-)
> > > >
> > > > Do you really want to enable those tests for your test
> > > > kernels? Can they fail if we mess up other parts of the
> > > > kernel, or do they only test the tracing portions?
> > >
> > > These printk's are useful, are used for a specific (albeit
> > > limited) purpose and were and continue to be useful in that
> > > role.
> > >
> > > The changes Steve bisected to broke this use of printk().
> >
> > And note, fixed others :)
>
> Sorry, the "we fix some bugs and introduce others" stance is not
> a valid response to a regression. Either fix *all* regressions
> or revert the original change. Simple and robust policy, isn't
> it?

You are right, to a point :)

> > > Please apply Steve's fix, fix it yourself or revert the
> > > changes that regressed printk().
> >
> > I thought Steve's patch was just a RFC thing, is it really
> > something that everyone wants to see applied?
>
> You mean the adding of an API to flush buffered output when
> that's the desired outcome? Why the heck should we *not* want
> that? Either I'm the weird one or you are being difficult ;-)

Sorry, no, I was referring to the fact that he said he didn't really
like it because of the timestamp garbage in the line.

thanks,

greg k-h
--
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/