diff options
Diffstat (limited to 'tools/perf/util/session.c')
| -rw-r--r-- | tools/perf/util/session.c | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c index b3fd62f7e4c9..c09b748ab599 100644 --- a/tools/perf/util/session.c +++ b/tools/perf/util/session.c | |||
| @@ -32,14 +32,14 @@ static int perf_session__deliver_event(struct perf_session *session, | |||
| 32 | 32 | ||
| 33 | static int perf_session__open(struct perf_session *session) | 33 | static int perf_session__open(struct perf_session *session) |
| 34 | { | 34 | { |
| 35 | struct perf_data_file *file = session->file; | 35 | struct perf_data *data = session->data; |
| 36 | 36 | ||
| 37 | if (perf_session__read_header(session) < 0) { | 37 | if (perf_session__read_header(session) < 0) { |
| 38 | pr_err("incompatible file format (rerun with -v to learn more)\n"); | 38 | pr_err("incompatible file format (rerun with -v to learn more)\n"); |
| 39 | return -1; | 39 | return -1; |
| 40 | } | 40 | } |
| 41 | 41 | ||
| 42 | if (perf_data_file__is_pipe(file)) | 42 | if (perf_data__is_pipe(data)) |
| 43 | return 0; | 43 | return 0; |
| 44 | 44 | ||
| 45 | if (perf_header__has_feat(&session->header, HEADER_STAT)) | 45 | if (perf_header__has_feat(&session->header, HEADER_STAT)) |
| @@ -120,7 +120,7 @@ static int ordered_events__deliver_event(struct ordered_events *oe, | |||
| 120 | session->tool, event->file_offset); | 120 | session->tool, event->file_offset); |
| 121 | } | 121 | } |
| 122 | 122 | ||
| 123 | struct perf_session *perf_session__new(struct perf_data_file *file, | 123 | struct perf_session *perf_session__new(struct perf_data *data, |
| 124 | bool repipe, struct perf_tool *tool) | 124 | bool repipe, struct perf_tool *tool) |
| 125 | { | 125 | { |
| 126 | struct perf_session *session = zalloc(sizeof(*session)); | 126 | struct perf_session *session = zalloc(sizeof(*session)); |
| @@ -134,13 +134,13 @@ struct perf_session *perf_session__new(struct perf_data_file *file, | |||
| 134 | machines__init(&session->machines); | 134 | machines__init(&session->machines); |
| 135 | ordered_events__init(&session->ordered_events, ordered_events__deliver_event); | 135 | ordered_events__init(&session->ordered_events, ordered_events__deliver_event); |
| 136 | 136 | ||
| 137 | if (file) { | 137 | if (data) { |
| 138 | if (perf_data_file__open(file)) | 138 | if (perf_data__open(data)) |
| 139 | goto out_delete; | 139 | goto out_delete; |
| 140 | 140 | ||
| 141 | session->file = file; | 141 | session->data = data; |
| 142 | 142 | ||
| 143 | if (perf_data_file__is_read(file)) { | 143 | if (perf_data__is_read(data)) { |
| 144 | if (perf_session__open(session) < 0) | 144 | if (perf_session__open(session) < 0) |
| 145 | goto out_close; | 145 | goto out_close; |
| 146 | 146 | ||
| @@ -148,7 +148,7 @@ struct perf_session *perf_session__new(struct perf_data_file *file, | |||
| 148 | * set session attributes that are present in perf.data | 148 | * set session attributes that are present in perf.data |
| 149 | * but not in pipe-mode. | 149 | * but not in pipe-mode. |
| 150 | */ | 150 | */ |
| 151 | if (!file->is_pipe) { | 151 | if (!data->is_pipe) { |
| 152 | perf_session__set_id_hdr_size(session); | 152 | perf_session__set_id_hdr_size(session); |
| 153 | perf_session__set_comm_exec(session); | 153 | perf_session__set_comm_exec(session); |
| 154 | } | 154 | } |
| @@ -157,7 +157,7 @@ struct perf_session *perf_session__new(struct perf_data_file *file, | |||
| 157 | session->machines.host.env = &perf_env; | 157 | session->machines.host.env = &perf_env; |
| 158 | } | 158 | } |
| 159 | 159 | ||
| 160 | if (!file || perf_data_file__is_write(file)) { | 160 | if (!data || perf_data__is_write(data)) { |
| 161 | /* | 161 | /* |
| 162 | * In O_RDONLY mode this will be performed when reading the | 162 | * In O_RDONLY mode this will be performed when reading the |
| 163 | * kernel MMAP event, in perf_event__process_mmap(). | 163 | * kernel MMAP event, in perf_event__process_mmap(). |
| @@ -170,7 +170,7 @@ struct perf_session *perf_session__new(struct perf_data_file *file, | |||
| 170 | * In pipe-mode, evlist is empty until PERF_RECORD_HEADER_ATTR is | 170 | * In pipe-mode, evlist is empty until PERF_RECORD_HEADER_ATTR is |
| 171 | * processed, so perf_evlist__sample_id_all is not meaningful here. | 171 | * processed, so perf_evlist__sample_id_all is not meaningful here. |
| 172 | */ | 172 | */ |
| 173 | if ((!file || !file->is_pipe) && tool && tool->ordering_requires_timestamps && | 173 | if ((!data || !data->is_pipe) && tool && tool->ordering_requires_timestamps && |
| 174 | tool->ordered_events && !perf_evlist__sample_id_all(session->evlist)) { | 174 | tool->ordered_events && !perf_evlist__sample_id_all(session->evlist)) { |
| 175 | dump_printf("WARNING: No sample_id_all support, falling back to unordered processing\n"); | 175 | dump_printf("WARNING: No sample_id_all support, falling back to unordered processing\n"); |
| 176 | tool->ordered_events = false; | 176 | tool->ordered_events = false; |
| @@ -179,7 +179,7 @@ struct perf_session *perf_session__new(struct perf_data_file *file, | |||
| 179 | return session; | 179 | return session; |
| 180 | 180 | ||
| 181 | out_close: | 181 | out_close: |
| 182 | perf_data_file__close(file); | 182 | perf_data__close(data); |
| 183 | out_delete: | 183 | out_delete: |
| 184 | perf_session__delete(session); | 184 | perf_session__delete(session); |
| 185 | out: | 185 | out: |
| @@ -201,8 +201,8 @@ void perf_session__delete(struct perf_session *session) | |||
| 201 | perf_session__delete_threads(session); | 201 | perf_session__delete_threads(session); |
| 202 | perf_env__exit(&session->header.env); | 202 | perf_env__exit(&session->header.env); |
| 203 | machines__exit(&session->machines); | 203 | machines__exit(&session->machines); |
| 204 | if (session->file) | 204 | if (session->data) |
| 205 | perf_data_file__close(session->file); | 205 | perf_data__close(session->data); |
| 206 | free(session); | 206 | free(session); |
| 207 | } | 207 | } |
| 208 | 208 | ||
| @@ -290,8 +290,8 @@ static s64 process_event_auxtrace_stub(struct perf_tool *tool __maybe_unused, | |||
| 290 | __maybe_unused) | 290 | __maybe_unused) |
| 291 | { | 291 | { |
| 292 | dump_printf(": unhandled!\n"); | 292 | dump_printf(": unhandled!\n"); |
| 293 | if (perf_data_file__is_pipe(session->file)) | 293 | if (perf_data__is_pipe(session->data)) |
| 294 | skipn(perf_data_file__fd(session->file), event->auxtrace.size); | 294 | skipn(perf_data__fd(session->data), event->auxtrace.size); |
| 295 | return event->auxtrace.size; | 295 | return event->auxtrace.size; |
| 296 | } | 296 | } |
| 297 | 297 | ||
| @@ -1349,7 +1349,7 @@ static s64 perf_session__process_user_event(struct perf_session *session, | |||
| 1349 | { | 1349 | { |
| 1350 | struct ordered_events *oe = &session->ordered_events; | 1350 | struct ordered_events *oe = &session->ordered_events; |
| 1351 | struct perf_tool *tool = session->tool; | 1351 | struct perf_tool *tool = session->tool; |
| 1352 | int fd = perf_data_file__fd(session->file); | 1352 | int fd = perf_data__fd(session->data); |
| 1353 | int err; | 1353 | int err; |
| 1354 | 1354 | ||
| 1355 | dump_event(session->evlist, event, file_offset, NULL); | 1355 | dump_event(session->evlist, event, file_offset, NULL); |
| @@ -1449,10 +1449,10 @@ int perf_session__peek_event(struct perf_session *session, off_t file_offset, | |||
| 1449 | goto out_parse_sample; | 1449 | goto out_parse_sample; |
| 1450 | } | 1450 | } |
| 1451 | 1451 | ||
| 1452 | if (perf_data_file__is_pipe(session->file)) | 1452 | if (perf_data__is_pipe(session->data)) |
| 1453 | return -1; | 1453 | return -1; |
| 1454 | 1454 | ||
| 1455 | fd = perf_data_file__fd(session->file); | 1455 | fd = perf_data__fd(session->data); |
| 1456 | hdr_sz = sizeof(struct perf_event_header); | 1456 | hdr_sz = sizeof(struct perf_event_header); |
| 1457 | 1457 | ||
| 1458 | if (buf_sz < hdr_sz) | 1458 | if (buf_sz < hdr_sz) |
| @@ -1687,7 +1687,7 @@ static int __perf_session__process_pipe_events(struct perf_session *session) | |||
| 1687 | { | 1687 | { |
| 1688 | struct ordered_events *oe = &session->ordered_events; | 1688 | struct ordered_events *oe = &session->ordered_events; |
| 1689 | struct perf_tool *tool = session->tool; | 1689 | struct perf_tool *tool = session->tool; |
| 1690 | int fd = perf_data_file__fd(session->file); | 1690 | int fd = perf_data__fd(session->data); |
| 1691 | union perf_event *event; | 1691 | union perf_event *event; |
| 1692 | uint32_t size, cur_size = 0; | 1692 | uint32_t size, cur_size = 0; |
| 1693 | void *buf = NULL; | 1693 | void *buf = NULL; |
| @@ -1828,7 +1828,7 @@ static int __perf_session__process_events(struct perf_session *session, | |||
| 1828 | { | 1828 | { |
| 1829 | struct ordered_events *oe = &session->ordered_events; | 1829 | struct ordered_events *oe = &session->ordered_events; |
| 1830 | struct perf_tool *tool = session->tool; | 1830 | struct perf_tool *tool = session->tool; |
| 1831 | int fd = perf_data_file__fd(session->file); | 1831 | int fd = perf_data__fd(session->data); |
| 1832 | u64 head, page_offset, file_offset, file_pos, size; | 1832 | u64 head, page_offset, file_offset, file_pos, size; |
| 1833 | int err, mmap_prot, mmap_flags, map_idx = 0; | 1833 | int err, mmap_prot, mmap_flags, map_idx = 0; |
| 1834 | size_t mmap_size; | 1834 | size_t mmap_size; |
| @@ -1945,13 +1945,13 @@ out_err: | |||
| 1945 | 1945 | ||
| 1946 | int perf_session__process_events(struct perf_session *session) | 1946 | int perf_session__process_events(struct perf_session *session) |
| 1947 | { | 1947 | { |
| 1948 | u64 size = perf_data_file__size(session->file); | 1948 | u64 size = perf_data__size(session->data); |
| 1949 | int err; | 1949 | int err; |
| 1950 | 1950 | ||
| 1951 | if (perf_session__register_idle_thread(session) < 0) | 1951 | if (perf_session__register_idle_thread(session) < 0) |
| 1952 | return -ENOMEM; | 1952 | return -ENOMEM; |
| 1953 | 1953 | ||
| 1954 | if (!perf_data_file__is_pipe(session->file)) | 1954 | if (!perf_data__is_pipe(session->data)) |
| 1955 | err = __perf_session__process_events(session, | 1955 | err = __perf_session__process_events(session, |
| 1956 | session->header.data_offset, | 1956 | session->header.data_offset, |
| 1957 | session->header.data_size, size); | 1957 | session->header.data_size, size); |
