On 24/07/2019 07:47, Ravindra Kumar Meena wrote:
This makes no sense:
static void print_item( client_context *cctx, const client_item *item )
{
if( cctx->event_counter % 2 == 0 ){
1. event_counter is not per CPU.
2. You don't care about the record event. You have to do this for
specific events as I already wrote in the description of this task.
I forgot to remove the modular operator.
https://github.com/rmeena840/rtems-tools/commit/c278c48abab1d5ea93cf36823bd24af07633f35f
The logic behind this is that when the first time program enters in
print_item() it initializes the
prev_* values and after this, it will enter in else part recursively
initializing prev_* and next_* values for the same CPU and write it in
the file.
This approach makes no sense to me.
Per CPU you receive three record events in succession:
[19:32:26.679099590] (+0.000046608) Record_Item RTEMS_RECORDING_EVENT: {
cpu_id = 5 }, { event = ( "RTEMS_RECORD_THREAD_SWITCH_OUT" : container =
216 ), data = 167837707 }
[19:32:26.679099590] (+0.000000000) Record_Item RTEMS_RECORDING_EVENT: {
cpu_id = 5 }, { event = ( "RTEMS_RECORD_THREAD_STACK_CURRENT" :
container = 209 ), data = 32320 }
[19:32:26.679099590] (+0.000000000) Record_Item RTEMS_RECORDING_EVENT: {
cpu_id = 5 }, { event = ( "RTEMS_RECORD_THREAD_SWITCH_IN" : container =
215 ), data = 151060501 }
They have all the same timestamp.
When you receive an RTEMS_RECORD_THREAD_SWITCH_OUT event, you store the
timestamp (per CPU) and the data (per-CPU, this is the thread ID).
When you receive an RTEMS_RECORD_THREAD_SWITCH_IN event and the
timestamp matches, you use the values of the current event and the
values stored before to output an LTTNG sched_switch event.
--
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