trace: Update trace-format generator for newer version
authorSimon Glass <sjg@chromium.org>
Wed, 21 Dec 2022 23:08:25 +0000 (16:08 -0700)
committerSimon Glass <sjg@chromium.org>
Wed, 18 Jan 2023 18:49:13 +0000 (11:49 -0700)
This now includes flags and the layout has changed slightly in recent
versions of Linux. Update the generator accordingly.

Signed-off-by: Simon Glass <sjg@chromium.org>
tools/proftool.c

index 0ba84d30c1904498c49cb761eb3b9f0d2d1d55a5..b66ea5564860b70257a4b39c035ad823721533e5 100644 (file)
@@ -163,7 +163,7 @@ static int read_data(FILE *fin, void *buff, int size)
        if (!err)
                return 1;
        if (err != size) {
-               error("Cannot read profile file at pos %ld\n", ftell(fin));
+               error("Cannot read profile file at pos %lx\n", ftell(fin));
                return -1;
        }
        return 0;
@@ -496,10 +496,17 @@ static int make_ftrace(void)
        int missing_count = 0, skip_count = 0;
        int i;
 
-       printf("# tracer: ftrace\n"
-               "#\n"
-               "#           TASK-PID   CPU#    TIMESTAMP  FUNCTION\n"
-               "#              | |      |          |         |\n");
+       printf("# tracer: function\n"
+             "#\n"
+             "# entries-in-buffer/entries-written: 140080/250280   #P:4\n"
+             "#\n"
+             "#                              _-----=> irqs-off\n"
+             "#                             / _----=> need-resched\n"
+             "#                            | / _---=> hardirq/softirq\n"
+             "#                            || / _--=> preempt-depth\n"
+             "#                            ||| /     delay\n"
+             "#           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION\n"
+             "#              | |       |   ||||       |         |\n");
        for (i = 0, call = call_list; i < call_count; i++, call++) {
                struct func_info *func = find_func_by_offset(call->func);
                ulong time = call->flags & FUNCF_TIMESTAMP_MASK;
@@ -521,7 +528,7 @@ static int make_ftrace(void)
                        continue;
                }
 
-               printf("%16s-%-5d [01] %lu.%06lu: ", "uboot", 1,
+               printf("%16s-%-5d [000] ....  %lu.%06lu: ", "uboot", 1,
                       time / 1000000, time % 1000000);
 
                out_func(call->func, 0, " <- ");