Messages in this thread | | | From | Namhyung Kim <> | Subject | Re: [PATCH] perf stat: Set child_pid after perf_evlist__prepare_workload() | Date | Wed, 02 Oct 2013 11:58:48 +0900 |
| |
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
| |