lkml.org 
[lkml]   [2013]   [Jun]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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



\
 
 \ /
  Last update: 2013-06-28 16:01    [W:0.180 / U:0.104 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site