diff options
| author | Ingo Molnar <[email protected]> | 2013-11-06 05:39:45 +0000 |
|---|---|---|
| committer | Ingo Molnar <[email protected]> | 2013-11-06 05:39:45 +0000 |
| commit | 97c53b402fcadb50201c23914f614bf8430d9c20 (patch) | |
| tree | 3c9b94e866d150c3a2d8ac853e388c38fade8b45 /tools/perf/builtin-kvm.c | |
| parent | hung_task debugging: Add tracepoint to report the hang (diff) | |
| parent | Linux 3.12 (diff) | |
| download | kernel-97c53b402fcadb50201c23914f614bf8430d9c20.tar.gz kernel-97c53b402fcadb50201c23914f614bf8430d9c20.zip | |
Merge tag 'v3.12' into core/locking to pick up mutex upates
Signed-off-by: Ingo Molnar <[email protected]>
Diffstat (limited to 'tools/perf/builtin-kvm.c')
| -rw-r--r-- | tools/perf/builtin-kvm.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/tools/perf/builtin-kvm.c b/tools/perf/builtin-kvm.c index 935d52216c89..fbc2888d6495 100644 --- a/tools/perf/builtin-kvm.c +++ b/tools/perf/builtin-kvm.c @@ -888,11 +888,18 @@ static s64 perf_kvm__mmap_read_idx(struct perf_kvm_stat *kvm, int idx, while ((event = perf_evlist__mmap_read(kvm->evlist, idx)) != NULL) { err = perf_evlist__parse_sample(kvm->evlist, event, &sample); if (err) { + perf_evlist__mmap_consume(kvm->evlist, idx); pr_err("Failed to parse sample\n"); return -1; } err = perf_session_queue_event(kvm->session, event, &sample, 0); + /* + * FIXME: Here we can't consume the event, as perf_session_queue_event will + * point to it, and it'll get possibly overwritten by the kernel. + */ + perf_evlist__mmap_consume(kvm->evlist, idx); + if (err) { pr_err("Failed to enqueue sample: %d\n", err); return -1; |
