Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c88f2096 authored by Jiri Olsa's avatar Jiri Olsa Committed by Ingo Molnar
Browse files

perf: Do not check PERF_EVENT_STATE_EXIT on syscall read path



Revert PERF_EVENT_STATE_EXIT check on read syscall path.
It breaks standard way to read counter, which is to open
the counter, wait for the monitored process to die and
read the counter.

Reported-by: default avatarStephane Eranian <eranian@google.com>
Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
Acked-by: default avatarStephane Eranian <eranian@google.com>
Acked-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: David Ahern <dsahern@gmail.com>
Link: http://lkml.kernel.org/r/20140908143107.GG17728@krava.brq.redhat.com


Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parent a08b6769
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -3601,8 +3601,7 @@ perf_read_hw(struct perf_event *event, char __user *buf, size_t count)
	 * error state (i.e. because it was pinned but it couldn't be
	 * scheduled on to the CPU at some point).
	 */
	if ((event->state == PERF_EVENT_STATE_ERROR) ||
	    (event->state == PERF_EVENT_STATE_EXIT))
	if (event->state == PERF_EVENT_STATE_ERROR)
		return 0;

	if (count < event->read_size)