GSoC Project | Basic Support for Trace Compass

Sebastian Huber sebastian.huber at embedded-brains.de
Tue Jul 30 12:54:01 UTC 2019


On 30/07/2019 14:40, Ravindra Kumar Meena wrote:
>     I checked in the RTEMS patch to add some basic support for thread
>     names.
>     Please update your RTEMS to the current master branch.
> 
>     I check in some patches for the rtems-record program in your
>     rtems-tools
>     branch.
> 
>     Please run your tests with new raw input data:
> 
>     ../../build/misc/rtems-record --input=../record/qoriq_e6500_64.bin
> 
> Okay. Pulled the recent changes. Getting different output.

What do you mean with "different output"?

> 
> 
>     The next tasks are:
> 
>     1. Detect if we switch to/from an idle thread. In this case set the
>     corresponding state to TASK_IDLE == 1026.
> 
> I tried to work on this task. I am not sure how to detect it without 
> calling pthread_*.
> Does this have to do something with rtems_task_is_suspended?
> https://docs.rtems.org/branches/master/c-user/task_manager.html#rtems-task-is-suspended

On the host you cannot call any RTEMS functions on the target. All 
information you have is in the record items. For a start, you can 
identify the idle threads via the identifier API:

https://docs.rtems.org/branches/master/c-user/key_concepts.html#object-ids

The API value for idle threads is 1.

> 
> 
>     2. The program should learn the thread names corresponding to a thread
>     identifier. Build up a thread identifier to thread name map. Use the
>     map
>     to emit thread names in the sched_switch event.
> 
> Mapping should be like this:
> [thread_id]->[thread_name] or [thread_name]->[thread_id]?

In the RTEMS_RECORD_THREAD_SWITCH_OUT and RTEMS_RECORD_THREAD_SWITCH_IN 
record events you have the thread id. So, the mapping must be 
[thread_id]->[thread_name].

> 
> the thread name can be obtained by:
> rtems_record_event_text( item->event )
> 
> 
>     You can use C++ if this makes it easier for you.
> 
> I will have to create separate c++ file for this.

Please convert the entire record-main.c file to C++.

-- 
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.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



More information about the devel mailing list