GSoC Project | Basic Support for Trace Compass

Sebastian Huber sebastian.huber at embedded-brains.de
Mon Aug 5 08:29:23 UTC 2019


On 05/08/2019 10:12, Ravindra Kumar Meena wrote:
>      > In the console output at someplace, I am getting this type of output:
>      >
>      > THREAD_ID:a01001e
>      > THREAD_NAME:737769363a207461
>      > THREAD_NAME:736b2071756575
>      >
>      > Does this mean that the same thread_id have two thread_name? If
>     so then
>      > only one thread_name can be stored in
>      > char thread_names[3][65536][THREAD_NAME_SIZE];
> 
>     No, it means that the thread name is longer than 8 bytes (on a 32-bit
>     target, it would be 4 bytes), see the loop here:
> 
>     https://git.rtems.org/rtems/tree/cpukit/libtrace/record/record-userext.c#n54
> 
>     To get the thread name back from the integers into a char array, you
>     have to reverse what this loop did.
> 
> Have made changes:
> https://github.com/rmeena840/rtems-tools/commit/a6701361eab030698464bab67d63a880d503c90e
> 
> Have a look.
> 
> The following line will give the same thread_name. There is no need to 
> reverse. I checked the output. The values are the same.
> snprintf( item_name_str, sizeof( item_name_str ), "%08"PRIx64, 
> item->data );

This change makes no sense.

1. If you store data from a previous record item to use it in the 
future, then you must always store this information per-CPU. So, this 
thread_id_name must be per-CPU.

2. Each of the RTEMS_RECORD_THREAD_NAME events, the item->data integer 
contains up to 4 or 8 chars.

https://git.rtems.org/rtems/tree/cpukit/libtrace/record/record-userext.c#n54

3. You don't need extra memcpy() calls, just store the string directly 
in ctx->thread_names[api_id][thread_id]. The first 
RTEMS_RECORD_THREAD_NAME uses 
ctx->thread_names[api_id][thread_id][0..7], the second uses 
ctx->thread_names[api_id][thread_id][8..15]. The third and later are an 
error, just ignore it.

-- 
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