Writing a single buffer in kernel ring buffer take 6-8 ms

Arun KS getarunks at gmail.com
Thu May 3 08:21:41 EDT 2012


Hi Chetan,

On Thu, May 3, 2012 at 3:35 PM, Chetan Nanda <chetannanda at gmail.com> 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.

Thanks,
Arun

>
> Please help to confirm this, or we are doing something wrong.
>
> Thanks,
> Chetan Nanda
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>



More information about the Kernelnewbies mailing list