perf data: Add global path holder
Add a 'path' member to 'struct perf_data'. It will keep the configured path for the data (const char *). The path in struct perf_data_file is now dynamically allocated (duped) from it. This scheme is useful/used in following patches where struct perf_data::path holds the 'configure' directory path and struct perf_data_file::path holds the allocated path for specific files. Also it actually makes the code little simpler. Signed-off-by: Jiri Olsa <jolsa@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Alexey Budankov <alexey.budankov@linux.intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Link: http://lkml.kernel.org/r/20190221094145.9151-3-jolsa@kernel.org [ Fixup data-convert-bt.c missing conversion ] Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:

committed by
Arnaldo Carvalho de Melo

parent
45112e89a8
commit
2d4f27999b
@@ -708,7 +708,7 @@ static void data__fprintf(void)
|
||||
|
||||
data__for_each_file(i, d)
|
||||
fprintf(stdout, "# [%d] %s %s\n",
|
||||
d->idx, d->data.file.path,
|
||||
d->idx, d->data.path,
|
||||
!d->idx ? "(Baseline)" : "");
|
||||
|
||||
fprintf(stdout, "#\n");
|
||||
@@ -779,14 +779,14 @@ static int __cmd_diff(void)
|
||||
data__for_each_file(i, d) {
|
||||
d->session = perf_session__new(&d->data, false, &tool);
|
||||
if (!d->session) {
|
||||
pr_err("Failed to open %s\n", d->data.file.path);
|
||||
pr_err("Failed to open %s\n", d->data.path);
|
||||
ret = -1;
|
||||
goto out_delete;
|
||||
}
|
||||
|
||||
ret = perf_session__process_events(d->session);
|
||||
if (ret) {
|
||||
pr_err("Failed to process %s\n", d->data.file.path);
|
||||
pr_err("Failed to process %s\n", d->data.path);
|
||||
goto out_delete;
|
||||
}
|
||||
|
||||
@@ -1289,9 +1289,9 @@ static int data_init(int argc, const char **argv)
|
||||
data__for_each_file(i, d) {
|
||||
struct perf_data *data = &d->data;
|
||||
|
||||
data->file.path = use_default ? defaults[i] : argv[i];
|
||||
data->mode = PERF_DATA_MODE_READ,
|
||||
data->force = force,
|
||||
data->path = use_default ? defaults[i] : argv[i];
|
||||
data->mode = PERF_DATA_MODE_READ,
|
||||
data->force = force,
|
||||
|
||||
d->idx = i;
|
||||
}
|
||||
|
Reference in New Issue
Block a user