[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