Messages in this thread | | | Date | Fri, 28 Jun 2013 07:46:23 -0600 | From | David Ahern <> | Subject | Re: [PATCH V2 15/15] perf tools: fix ppid in thread__fork() |
| |
On 6/28/13 12:47 AM, Adrian Hunter wrote: >> knowledge of the specific thread within the parent that created the process >> can be valuable -- that's what we get now. This change drops that >> information. I'd prefer this stays at thread id -- or save the parent thread >> id in addition to the pid. > > That means renaming ppid to ptid. Do you want to do that?
Don't lose information, so if you want the process id add ppid and ptid. I like knowing the exact thread.
> > Isn't it possible that the parent could exit and the pid or tid be re-used > for another process? In that case, to reliable identify the parent a > pointer to its struct thread would be needed. i.e. > > diff --git a/tools/perf/util/thread.h b/tools/perf/util/thread.h > --- a/tools/perf/util/thread.h > +++ b/tools/perf/util/thread.h > @@ -14,6 +14,7 @@ struct thread { > struct map_groups mg; > pid_t pid_; /* Not all tools update this */ > pid_t tid; > - pid_t ppid; > + struct thread *parent; > char shortname[3]; > bool comm_set; > > However that means tracking the lifetime of 'parent' to ensure that it is > not left dangling. > > Do you want to do that?
No, I do not think we want to save pointers to other thread structs. We actually need to be able to clean up the dead_threads list for long running sessions and dangling pointers would add to the problem.
David
| |