delay in booting due to consloe_unlock inprintk

Syam k.meghasyam at gmail.com
Fri Dec 23 21:47:40 EST 2011


HI Dave,


On Fri, Dec 23, 2011 at 9:10 PM, Dave Hylands <dhylands at gmail.com> wrote:

> Hi Syam,
>
> On Thu, Dec 22, 2011 at 10:59 PM, Syam <k.meghasyam at gmail.com> wrote:
> > HI All,
> >
> > I am getting more than 1 sec delay during booting.
> > While registering console (for serial console ttys ), there is about 1
> sec
> > delay in executing the console_unlock() in printk.c
> >
> > It was found that delay is occuring in call_console_drivers()
> > ******************************
> > if (c == '\n') {
> > if (msg_level < 0) {
> > /*
> > * printk() has already given us loglevel tags in
> > * the buffer.  This code is here in case the
> > * log buffer has wrapped right round and scribbled
> > * on those tags
> > */
> > msg_level = default_message_loglevel;
> > }
> > _call_console_drivers(start_print, cur_index, msg_level);    // if this
> part
> > is commented, there is no delay observed?
> > *******************************
> >
> >
> > is there any way to find out what is causing the delay.
>
> The kernel actually starts logging the printk buffer before any
> consoles are registered. When the first console is registered, it then
> prints all of those messages which have been buffered until that time.
> If you're logging your console messages to a serial port, then all of
> those characters actually need to be sent out the UART, which is
> probably where most of the time is being  spent.
>
> --
> Dave Hylands
> Shuswap, BC, Canada
> http://www.davehylands.com
>

Thanks for the information. You are correct. I could see all the buffered
messages are getting flushed during that part of execution.
I guess, the only way to remove the delay is to remove the serial console
logging by passing console=null.




-- 
Warm Regards,
Syam
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20111224/b5e86a19/attachment.html 


More information about the Kernelnewbies mailing list