perf time-utils: Treat time ranges consistently
authorAdrian Hunter <adrian.hunter@intel.com>
Tue, 4 Jun 2019 13:00:10 +0000 (16:00 +0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 10 Jun 2019 19:20:12 +0000 (16:20 -0300)
Currently, options allow only 1 explicit (non-percentage) time range.
In preparation for adding support for multiple explicit time ranges,
treat time ranges consistently.

Instead of treating some time ranges as inclusive and some as excluding
the end time, treat all time ranges as inclusive. This is only a 1
nanosecond change but is necessary to treat multiple explicit time
ranges in a consistent manner.

Note, there is a later patch that adds a test for time-utils.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jin Yao <yao.jin@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lkml.kernel.org/r/20190604130017.31207-13-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/time-utils.c

index 20663a460df34d63d9d575ebea8a7e7681099bc7..1d67cf1216c708c96c20c55d8b5373eff0d9a4e3 100644 (file)
@@ -389,13 +389,12 @@ bool perf_time__ranges_skip_sample(struct perf_time_interval *ptime_buf,
                ptime = &ptime_buf[i];
 
                if (timestamp >= ptime->start &&
-                   ((timestamp < ptime->end && i < num - 1) ||
-                    (timestamp <= ptime->end && i == num - 1))) {
-                       break;
+                   (timestamp <= ptime->end || !ptime->end)) {
+                       return false;
                }
        }
 
-       return (i == num) ? true : false;
+       return true;
 }
 
 int perf_time__parse_for_ranges(const char *time_str,