lkml.org 
[lkml]   [2014]   [Sep]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[tip:perf/core] perf: Do not check PERF_EVENT_STATE_EXIT on syscall read path
Commit-ID:  c88f2096136416b261bd3647cc260935f6e95805
Gitweb: http://git.kernel.org/tip/c88f2096136416b261bd3647cc260935f6e95805
Author: Jiri Olsa <jolsa@redhat.com>
AuthorDate: Mon, 8 Sep 2014 16:31:07 +0200
Committer: Ingo Molnar <mingo@kernel.org>
CommitDate: Tue, 16 Sep 2014 10:30:36 +0200

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: Stephane Eranian <eranian@google.com>
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Acked-by: Stephane Eranian <eranian@google.com>
Acked-by: Peter 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: Ingo Molnar <mingo@kernel.org>
---
kernel/events/core.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/kernel/events/core.c b/kernel/events/core.c
index f917dec..733c616 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -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)

\
 
 \ /
  Last update: 2014-09-16 13:41    [W:0.062 / U:0.288 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site