summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcin Ślusarz <marcin.slusarz@intel.com>2020-07-10 16:24:31 +0200
committerMarge Bot <eric+marge@anholt.net>2020-08-10 13:41:29 +0000
commit9fa64803aadebf8663469832eb90b6a7fe572494 (patch)
treedf3569001f578eabebe25c62be67ae88e32502a9
parent03e8b3551cf52b6b8b8efb48af7f413ddc4116b1 (diff)
intel/perf: streamline error handling in read_oa_samples_until
No functional changes. Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5788>
-rw-r--r--src/intel/perf/gen_perf_query.c28
1 files changed, 16 insertions, 12 deletions
diff --git a/src/intel/perf/gen_perf_query.c b/src/intel/perf/gen_perf_query.c
index 3d4f922b2b3..309ebe024d3 100644
--- a/src/intel/perf/gen_perf_query.c
+++ b/src/intel/perf/gen_perf_query.c
@@ -938,20 +938,24 @@ read_oa_samples_until(struct gen_perf_context *perf_ctx,
if (len <= 0) {
exec_list_push_tail(&perf_ctx->free_sample_buffers, &buf->link);
- if (len < 0) {
- if (errno == EAGAIN) {
- return ((last_timestamp - start_timestamp) < INT32_MAX &&
- (last_timestamp - start_timestamp) >=
- (end_timestamp - start_timestamp)) ?
- OA_READ_STATUS_FINISHED :
- OA_READ_STATUS_UNFINISHED;
- } else {
- DBG("Error reading i915 perf samples: %m\n");
- }
- } else
+ if (len == 0) {
DBG("Spurious EOF reading i915 perf samples\n");
+ return OA_READ_STATUS_ERROR;
+ }
+
+ if (errno != EAGAIN) {
+ DBG("Error reading i915 perf samples: %m\n");
+ return OA_READ_STATUS_ERROR;
+ }
+
+ if ((last_timestamp - start_timestamp) >= INT32_MAX)
+ return OA_READ_STATUS_UNFINISHED;
+
+ if ((last_timestamp - start_timestamp) <
+ (end_timestamp - start_timestamp))
+ return OA_READ_STATUS_UNFINISHED;
- return OA_READ_STATUS_ERROR;
+ return OA_READ_STATUS_FINISHED;
}
buf->len = len;