[LITMUS^RT] Question about the overhead measurement in LITMUS and potential memory leak?

Meng Xu xumengpanda at gmail.com
Fri Oct 2 19:22:45 CEST 2015


Hi Bjorn,

Thank you so much for your quick and helpful reply!

Hi Namhoon,
Since you are also using the same ARM board and didn't have any problem in
tracing the scheduling overhead, such as SCHED and CXS, could you help me
have a look if I configured anything incorrectly? I really appreciate it!


>
> Do you have any suggestion/advice on how I can get the complete events?
>
> I have tried to set the ftcat to highest priority under FIFO scheduler, it
> didn't solve the problem.
> I was suspecting it is because the buffer is not consumed by ftcat fast
> enough so that the old events are overwritten by new events. However, I
> only run on rtspin task which leave at least 3 full cores idle to consume
> the buffer.
>
>
> If ftcat is starved, then you get some incomplete records, but typically
> not 100% incomplete records. This must be something else.
>
> Have you looked at the trace with ftdump? What does it look like?
>
>
​I checked the ftdump and it shows that the events are actually recorded
but the timestamp of each event is always 0.

(Below is the result that I filter out the ftdump for RT tasks
​ and I only show some of them since the rest of them are similar​
.)

CXS_START            seq:634  pid:964  timestamp:0  cpu:3  type:RT
irq:1 irqc:01

CXS_END              seq:635  pid:964  timestamp:0  cpu:3  type:RT
irq:0 irqc:00

CXS_START            seq:644  pid:964  timestamp:0  cpu:3  type:RT
irq:1 irqc:01

CXS_END              seq:645  pid:964  timestamp:0  cpu:3  type:RT
irq:0 irqc:00

CXS_START            seq:650  pid:964  timestamp:0  cpu:3  type:RT
irq:1 irqc:01

CXS_END              seq:651  pid:964  timestamp:0  cpu:3  type:RT
irq:0 irqc:00

CXS_START            seq:658  pid:964  timestamp:0  cpu:3  type:RT
irq:1 irqc:01

CXS_END              seq:659  pid:964  timestamp:0  cpu:3  type:RT
irq:0 irqc:00

CXS_START            seq:666  pid:964  timestamp:0  cpu:3  type:RT
irq:1 irqc:01

CXS_END              seq:667  pid:964  timestamp:0  cpu:3  type:RT
irq:0 irqc:00

CXS_START            seq:676  pid:964  timestamp:0  cpu:3  type:RT
irq:1 irqc:02

CXS_END              seq:677  pid:964  timestamp:0  cpu:3  type:RT
irq:0 irqc:00

CXS_START            seq:684  pid:964  timestamp:0  cpu:3  type:RT
irq:1 irqc:01

CXS_END              seq:685  pid:964  timestamp:0  cpu:3  type:RT
irq:0 irqc:00

CXS_START            seq:694  pid:964  timestamp:0  cpu:3  type:RT
irq:1 irqc:02

CXS_END              seq:695  pid:964  timestamp:0  cpu:3  type:RT
irq:0 irqc:00

CXS_START            seq:702  pid:964  timestamp:0  cpu:3  type:RT
irq:1 irqc:01

CXS_END              seq:703  pid:964  timestamp:0  cpu:3  type:RT
irq:0 irqc:00



Is there anything else I need to configure to make it work? It seems that
 in
litmus/trace.c
​, the ft_timestamp() always return 0?​

 if (record_timestamp)

            timestamp = ft_timestamp();

 if (record_timestamp == RECORD_OFFSET_TIMESTAMP)

            timestamp += cycle_offset[smp_processor_id()][cpu];

Thanks,

Meng

--

-----------
Meng Xu
PhD Student in Computer and Information Science
University of Pennsylvania
http://www.cis.upenn.edu/~mengxu/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.litmus-rt.org/pipermail/litmus-dev/attachments/20151002/a39e5a4e/attachment.html>


More information about the litmus-dev mailing list