diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2020-04-25 21:08:24 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2020-04-25 21:08:24 +0200 |
commit | e18588005d79853c2d4101f9416e7c1e8c9584d2 (patch) | |
tree | 218e2fbd820689cf1a79709f14c67ba6264728e7 /kernel | |
parent | Merge tag 'objtool-urgent-2020-04-25' of git://git.kernel.org/pub/scm/linux/k... (diff) | |
parent | perf/core: fix parent pid/tid in task exit events (diff) | |
download | linux-e18588005d79853c2d4101f9416e7c1e8c9584d2.tar.xz linux-e18588005d79853c2d4101f9416e7c1e8c9584d2.zip |
Merge tag 'perf-urgent-2020-04-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull perf fixes from Ingo Molnar:
"Two changes:
- fix exit event records
- extend x86 PMU driver enumeration to add Intel Jasper Lake CPU
support"
* tag 'perf-urgent-2020-04-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
perf/core: fix parent pid/tid in task exit events
perf/x86/cstate: Add Jasper Lake CPU support
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/events/core.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/kernel/events/core.c b/kernel/events/core.c index bc9b98a9af9a..633b4ae72ed5 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -7491,10 +7491,17 @@ static void perf_event_task_output(struct perf_event *event, goto out; task_event->event_id.pid = perf_event_pid(event, task); - task_event->event_id.ppid = perf_event_pid(event, current); - task_event->event_id.tid = perf_event_tid(event, task); - task_event->event_id.ptid = perf_event_tid(event, current); + + if (task_event->event_id.header.type == PERF_RECORD_EXIT) { + task_event->event_id.ppid = perf_event_pid(event, + task->real_parent); + task_event->event_id.ptid = perf_event_pid(event, + task->real_parent); + } else { /* PERF_RECORD_FORK */ + task_event->event_id.ppid = perf_event_pid(event, current); + task_event->event_id.ptid = perf_event_tid(event, current); + } task_event->event_id.time = perf_event_clock(event); |