@@ -1215,6 +1215,11 @@ static void read_data_info(struct list_head *handle_list, enum output_type otype
list_for_each_entry(handles, handle_list, list) {
int cpus;
+ if (!tracecmd_is_buffer_instance(handles->handle)) {
+ ret = tracecmd_init_data(handles->handle);
+ if (ret < 0)
+ die("failed to init data");
+ }
cpus = tracecmd_cpus(handles->handle);
handles->cpus = cpus;
handles->last_timestamp = calloc(cpus, sizeof(*handles->last_timestamp));
@@ -1225,9 +1230,6 @@ static void read_data_info(struct list_head *handle_list, enum output_type otype
if (tracecmd_is_buffer_instance(handles->handle))
continue;
- ret = tracecmd_init_data(handles->handle);
- if (ret < 0)
- die("failed to init data");
if (align_ts) {
ts = tracecmd_get_first_ts(handles->handle);
if (first || first_ts > ts)
Moved initialization of the instance before call to the tracecmd_cpus() API. This change is required for the upcoming trace file changes, where CPU count is set when the trace data are initialized. Signed-off-by: Tzvetomir Stoyanov (VMware) <tz.stoyanov@gmail.com> --- tracecmd/trace-read.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)