On Thu, May 3, 2012 at 7:21 AM, Arun KS <getarunks@xxxxxxxxx> wrote:
Hi Chetan,
Consider this situvation, if your do a printk message of 100
On Thu, May 3, 2012 at 3:35 PM, Chetan Nanda <chetannanda@xxxxxxxxx> 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.
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
> Kernelnewbies@xxxxxxxxxxxxxxxxx
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies