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.si...@amd.com>
Reviewed-by: Simon Glass <s...@chromium.org>
---

(no changes since v1)

 tools/proftool.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/tools/proftool.c b/tools/proftool.c
index 869a2a32c510..7c95a94482fc 100644
--- a/tools/proftool.c
+++ b/tools/proftool.c
@@ -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);
 
-- 
2.36.1

Reply via email to