lkml.org 
[lkml]   [2013]   [Oct]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH] perf stat: Set child_pid after perf_evlist__prepare_workload()
Date
On Tue, 1 Oct 2013 13:51:33 -0300, Arnaldo Carvalho de Melo wrote:
> Em Mon, Sep 30, 2013 at 07:47:25AM -0600, David Ahern escreveu:
>> On 9/30/13 3:01 AM, Namhyung Kim wrote:
>> >From: Namhyung Kim <namhyung.kim@lge.com>
>> >
>> >The commit acf2892270dc ("perf stat: Use perf_evlist__prepare/
>> >start_workload()") converted to use the function but forgot to update
>> >child_pid. Fix it.
>> >
>> >Cc: David Ahern <dsahern@gmail.com>
>> >Cc: Stephane Eranian <eranian@google.com>
>> >Signed-off-by: Namhyung Kim <namhyung@kernel.org>
>> >---
>> > tools/perf/builtin-stat.c | 1 +
>> > 1 file changed, 1 insertion(+)
>> >
>> >diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
>> >index f686d5ff594e..5098f144b92d 100644
>> >--- a/tools/perf/builtin-stat.c
>> >+++ b/tools/perf/builtin-stat.c
>> >@@ -457,6 +457,7 @@ static int __run_perf_stat(int argc, const char **argv)
>> > perror("failed to prepare workload");
>> > return -1;
>> > }
>> >+ child_pid = evsel_list->workload.pid;
>> > }
>> >
>> > if (group)
>> >
>>
>> Interesting. I can't find a test case where is matters ... perhaps a
>> convenience of waitpid taking -1.
>
> Yeah, the interval part initially used the fork return, then after
> acf2892270dc used the default value of child_pid, -1, which is ok as it
> waits for any children, but I wonder what would happen in workloads with
> multiple children.

Hmm.. right. And in fact what I actually concern was when killing child
if create_perf_stat_counter() failed.

if (child_pid != -1)
kill(child_pid, SIGTERM);

>
> But for correctness acf2892270dc should have kept the existing
> semantics, even if using -1 could in the end be ok.

Agreed.

Thanks,
Namhyung


\
 
 \ /
  Last update: 2013-10-02 05:21    [W:0.045 / U:0.552 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site