diff options
Diffstat (limited to 'tools/perf/builtin-report.c')
-rw-r--r-- | tools/perf/builtin-report.c | 38 |
1 files changed, 8 insertions, 30 deletions
diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c index 1532ebde6c4b..ee93c18a6685 100644 --- a/tools/perf/builtin-report.c +++ b/tools/perf/builtin-report.c | |||
@@ -1375,36 +1375,13 @@ repeat: | |||
1375 | if (symbol__init(&session->header.env) < 0) | 1375 | if (symbol__init(&session->header.env) < 0) |
1376 | goto error; | 1376 | goto error; |
1377 | 1377 | ||
1378 | report.ptime_range = perf_time__range_alloc(report.time_str, | 1378 | if (report.time_str) { |
1379 | &report.range_size); | 1379 | ret = perf_time__parse_for_ranges(report.time_str, session, |
1380 | if (!report.ptime_range) { | 1380 | &report.ptime_range, |
1381 | ret = -ENOMEM; | 1381 | &report.range_size, |
1382 | goto error; | 1382 | &report.range_num); |
1383 | } | 1383 | if (ret < 0) |
1384 | |||
1385 | if (perf_time__parse_str(report.ptime_range, report.time_str) != 0) { | ||
1386 | if (session->evlist->first_sample_time == 0 && | ||
1387 | session->evlist->last_sample_time == 0) { | ||
1388 | pr_err("HINT: no first/last sample time found in perf data.\n" | ||
1389 | "Please use latest perf binary to execute 'perf record'\n" | ||
1390 | "(if '--buildid-all' is enabled, please set '--timestamp-boundary').\n"); | ||
1391 | ret = -EINVAL; | ||
1392 | goto error; | ||
1393 | } | ||
1394 | |||
1395 | report.range_num = perf_time__percent_parse_str( | ||
1396 | report.ptime_range, report.range_size, | ||
1397 | report.time_str, | ||
1398 | session->evlist->first_sample_time, | ||
1399 | session->evlist->last_sample_time); | ||
1400 | |||
1401 | if (report.range_num < 0) { | ||
1402 | pr_err("Invalid time string\n"); | ||
1403 | ret = -EINVAL; | ||
1404 | goto error; | 1384 | goto error; |
1405 | } | ||
1406 | } else { | ||
1407 | report.range_num = 1; | ||
1408 | } | 1385 | } |
1409 | 1386 | ||
1410 | if (session->tevent.pevent && | 1387 | if (session->tevent.pevent && |
@@ -1426,7 +1403,8 @@ repeat: | |||
1426 | ret = 0; | 1403 | ret = 0; |
1427 | 1404 | ||
1428 | error: | 1405 | error: |
1429 | zfree(&report.ptime_range); | 1406 | if (report.ptime_range) |
1407 | zfree(&report.ptime_range); | ||
1430 | 1408 | ||
1431 | perf_session__delete(session); | 1409 | perf_session__delete(session); |
1432 | return ret; | 1410 | return ret; |