libperf: Avoid counting of nonfilterable fdarray fds
authorAlexey Budankov <alexey.budankov@linux.intel.com>
Fri, 17 Jul 2020 07:00:15 +0000 (10:00 +0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 21 Jul 2020 12:53:22 +0000 (09:53 -0300)
Avoid counting of struct pollfd *entries objects with
fdarray_flag__nonfilterable flag by fdarray__filter().

Nonfilterable objects are still processed if requested revents have been
signaled for them.

Signed-off-by: Alexey Budankov <alexey.budankov@linux.intel.com>
Acked-by: Jiri Olsa <jolsa@redhat.com>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lore.kernel.org/lkml/b5ab0d2c-b742-0032-e8d3-c8e2eb423c42@linux.intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/lib/api/fd/array.c

index 01b3b89f97970e74131047e126eea401f6a3524b..5e6cb9debe37ed4c92cf62e70ff3fdce20f8022e 100644 (file)
@@ -109,7 +109,8 @@ int fdarray__filter(struct fdarray *fda, short revents,
                        continue;
                }
 
-               ++nr;
+               if (!(fda->priv[fd].flags & fdarray_flag__nonfilterable))
+                       ++nr;
        }
 
        return nr;