GSoC Project | Basic Support for Trace Compass
Sebastian Huber
sebastian.huber at embedded-brains.de
Sun Aug 4 08:03:41 UTC 2019
----- Am 3. Aug 2019 um 18:16 schrieb Ravindra Kumar Meena rmeena840 at gmail.com:
> Now, I can get the [thread_id] and [thread_name] in print_item() but since
> this information is not CPU specific so in which CPU should I store this
> information?
Maybe something like this (please remove your hash table):
diff --git a/misc/record/record-main.c b/misc/record/record-main.c
index 20158fd..2cc3a3c 100644
--- a/misc/record/record-main.c
+++ b/misc/record/record-main.c
@@ -190,12 +190,14 @@ typedef struct event_header_extended {
uint64_t ns;
} __attribute__((__packed__)) event_header_extended;
+#define THREAD_NAME_SIZE 16
+
typedef struct switch_event{
- uint8_t prev_comm[16];
+ uint8_t prev_comm[THREAD_NAME_SIZE];
int32_t prev_tid;
int32_t prev_prio;
int64_t prev_state;
- uint8_t next_comm[16];
+ uint8_t next_comm[THREAD_NAME_SIZE];
int32_t next_tid;
int32_t next_prio;
} __attribute__((__packed__)) switch_event;
@@ -222,6 +224,14 @@ typedef struct client_context {
uint64_t content_size[ RTEMS_RECORD_CLIENT_MAXIMUM_CPU_COUNT ];
uint64_t packet_size[ RTEMS_RECORD_CLIENT_MAXIMUM_CPU_COUNT ];
switch_out_int switch_out_int[ RTEMS_RECORD_CLIENT_MAXIMUM_CPU_COUNT ];
+
+ /**
+ * @brief Thread names indexed by API and object index.
+ *
+ * The API indices are 0 for Internal API, 1 for Classic API and 2 for POSIX API.
+ */
+ char thread_names[3][65536][THREAD_NAME_SIZE];
+
map_data* hashArray[ MAP_SIZE ];
} client_context;
More information about the devel
mailing list