On 24/07/2019 14:07, Ravindra Kumar Meena wrote:
    You received RTEMS_RECORD_THREAD_SWITCH_OUT two record events before
    the
       RTEMS_RECORD_THREAD_SWITCH_IN with the same timestamp. See my
    comment
    above. In these two record events all you need for the sched_switch
    event is contained.


Have made changes:

https://github.com/rmeena840/rtems-tools/commit/880eb38c41f66e5ca08429f9ed52a209feed123e

Have a look.

Babeltrace output:

babeltrace . | head

[...]
[19:16:31.180223920] (+0.000049688) Record_Item sched_switch: { cpu_id = 5 }, { prev_comm = "09010015", prev_tid = 151060501, prev_prio = 0, prev_state = 0, next_comm = "00001ce0", next_tid = 7392, next_prio = 0 }

Now the prev_* and next_* values are not equal.

Being not equal is necessary but not sufficient.

Your code is too complicated. Please try to simplify it. Avoid the magic numbers and use the enumerator constants instead.

Why do you use values from RTEMS_RECORD_THREAD_STACK_CURRENT for the sched_switch? Do you know what a software thread is?

You only need RTEMS_RECORD_THREAD_SWITCH_IN and RTEMS_RECORD_THREAD_SWITCH_OUT.

--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to