Re: delay in booting due to consloe_unlock inprintk

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



HI Dave,


On Fri, Dec 23, 2011 at 9:10 PM, Dave Hylands <dhylands@xxxxxxxxx> wrote:
Hi Syam,

On Thu, Dec 22, 2011 at 10:59 PM, Syam <k.meghasyam@xxxxxxxxx> 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

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux