trace: Move trace_clocks description above record offset calculation
authorMichal Simek <michal.simek@amd.com>
Fri, 15 Sep 2023 12:12:04 +0000 (14:12 +0200)
committerSimon Glass <sjg@chromium.org>
Sat, 23 Sep 2023 15:00:37 +0000 (09:00 -0600)
Flyrecord tracing data are page aligned that's why it is necessary to
calculate alignment properly. Because trace_clocks description is the part
of record length it is necessary to have information about length earlier.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
tools/proftool.c

index 869a2a3..7c95a94 100644 (file)
@@ -1500,6 +1500,10 @@ static int write_flyrecord(struct twriter *tw, enum out_format_t out_format,
 
        tw->ptr += fprintf(fout, "flyrecord%c", 0);
 
+       snprintf(str, sizeof(str),
+                "[local] global counter uptime perf mono mono_raw boot x86-tsc\n");
+       len = strlen(str);
+
        /* trace data */
        start = ALIGN(tw->ptr + 16, TRACE_PAGE_SIZE);
        tw->ptr += tputq(fout, start);
@@ -1510,9 +1514,6 @@ static int write_flyrecord(struct twriter *tw, enum out_format_t out_format,
                return -1;
        tw->ptr += ret;
 
-       snprintf(str, sizeof(str),
-                "[local] global counter uptime perf mono mono_raw boot x86-tsc\n");
-       len = strlen(str);
        tw->ptr += tputq(fout, len);
        tw->ptr += tputs(fout, str);