File tree Expand file tree Collapse file tree 1 file changed +10
-3
lines changed Expand file tree Collapse file tree 1 file changed +10
-3
lines changed Original file line number Diff line number Diff line change @@ -7491,10 +7491,17 @@ static void perf_event_task_output(struct perf_event *event,
7491
7491
goto out ;
7492
7492
7493
7493
task_event -> event_id .pid = perf_event_pid (event , task );
7494
- task_event -> event_id .ppid = perf_event_pid (event , current );
7495
-
7496
7494
task_event -> event_id .tid = perf_event_tid (event , task );
7497
- task_event -> event_id .ptid = perf_event_tid (event , current );
7495
+
7496
+ if (task_event -> event_id .header .type == PERF_RECORD_EXIT ) {
7497
+ task_event -> event_id .ppid = perf_event_pid (event ,
7498
+ task -> real_parent );
7499
+ task_event -> event_id .ptid = perf_event_pid (event ,
7500
+ task -> real_parent );
7501
+ } else { /* PERF_RECORD_FORK */
7502
+ task_event -> event_id .ppid = perf_event_pid (event , current );
7503
+ task_event -> event_id .ptid = perf_event_tid (event , current );
7504
+ }
7498
7505
7499
7506
task_event -> event_id .time = perf_event_clock (event );
7500
7507
You can’t perform that action at this time.
0 commit comments