On Thu, May 3, 2012 at 7:21 AM, Arun KS <[email protected]> wrote: > Hi Chetan, > > On Thu, May 3, 2012 at 3:35 PM, Chetan Nanda <[email protected]> > wrote: > > Hi, > > > > We are working on ARM based SOC. > > Currently we are implementing a efficient tracing mechanism to logs > messages > > from a dedicated MCU. > > > > For this, we share a circular buffer between ARM and MCU and messages > stored > > in the buffer will be put into kernel ring-buffer and then output via > dmesg > > call. > > Strangely wringing a single log message in the kernel ring-buffer cost > > around 6-8ms. > > Consider this situvation, if your do a printk message of 100 > characters at a baud rate of 115200 bps on your UART console. > Now 1 bit it will take 8.68 us(ie.. 1/115200). > > So 100 character ie.. 800 bits(exculuding parity, stop bits and all > other over heads) will take 8.68 us * 800 = 6.94 ms. > > How are you writing to the kernel log buffer? > Are you using UART as console? If yes what is your baud rate? > > If possible give more details about your design. > > I think Arun's assumptions are valid here. I am not aware of how the kernel ring buffer is used, but I would think it is better to have the logs printed out from a user space application. That way you are not blocking the kernel to spend time printing each message that gets put into the buffer. Does that make sense?
Thanks, > Arun > > > > > Please help to confirm this, or we are doing something wrong. > > > > Thanks, > > Chetan Nanda > > > > _______________________________________________ > > Kernelnewbies mailing list > > [email protected] > > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies > > > > _______________________________________________ > Kernelnewbies mailing list > [email protected] > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies >
_______________________________________________ Kernelnewbies mailing list [email protected] http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
