Thomas Fletcher
|
Re: Adding trace events into the kernel
|
Thomas Fletcher
01/29/2008 12:57 PM
post4647
|
Re: Adding trace events into the kernel
On Jan 29, 2008 6:16 AM, Sönke Nielsen <snielsen@qnx.com> wrote:
> I've noticed bad message passing performance with certain messages sizes
> on a MPC8313. 1k messages arer slower than 2k messages.
>
> I've captured this in a kev file. But I just see that going from "Send
> message" state to "Reply blocked" takes 37 usec in the 1k case and < 10usec
> for 2k messages. See attachment.
>
> I'm wondering, if I can dig more deaply into the problem by adding trace
> stamps into the kernel.
>
You could but you can't use TraceEvent() to do it ... it is a kernel call
and you are already in the kernel (assuming
you are instrumenting the message pass code), you would need to use the
internal trace_* calls in ker_trace or
nano_trace.
However, adding code into the message copy path will have a measurement
effect. What I'd do first is to use
the trace to look at the overall scenario:
* Length of data/message
* State of receiver
* Length of READY queue's
.. etc
This will allow you to take a first look at the code and understand how the
code path differs in both scenarios
that you are tracing.
Thomas
|
|
|