@@ -1408,10 +1408,16 @@ int tracecmd_write_cpus(struct tracecmd_output *handle, int cpus)
handle->file_state);
return -1;
}
- cpus = convert_endian_4(handle, cpus);
- ret = do_write_check(handle, &cpus, 4);
- if (ret < 0)
- return ret;
+
+ if (!HAS_SECTIONS(handle)) {
+ cpus = convert_endian_4(handle, cpus);
+ ret = do_write_check(handle, &cpus, 4);
+ if (ret < 0)
+ return ret;
+ } else {
+ tracecmd_add_option(handle, TRACECMD_OPTION_CPUCOUNT, sizeof(int), &cpus);
+ }
+
handle->file_state = TRACECMD_FILE_CPU_COUNT;
return 0;
}
Writing CPU count as a separate section in the trace file is redundant, as there is already an option for that. Use that option in trace files version 7. Signed-off-by: Tzvetomir Stoyanov (VMware) <tz.stoyanov@gmail.com> --- lib/trace-cmd/trace-output.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-)