Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756218Ab2BMHMZ (ORCPT ); Mon, 13 Feb 2012 02:12:25 -0500 Received: from LGEMRELSE7Q.lge.com ([156.147.1.151]:43543 "EHLO LGEMRELSE7Q.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755192Ab2BMHLh (ORCPT ); Mon, 13 Feb 2012 02:11:37 -0500 X-AuditID: 9c930197-b7cdbae000001518-8a-4f38b7a46b17 From: Namhyung Kim To: Arnaldo Carvalho de Melo Cc: Namhyung Kim , Peter Zijlstra , Paul Mackerras , Ingo Molnar , linux-kernel@vger.kernel.org Subject: [PATCH 10/11] perf stat: Fix event grouping on forked task Date: Mon, 13 Feb 2012 16:27:42 +0900 Message-Id: <1329118064-9412-11-git-send-email-namhyung.kim@lge.com> X-Mailer: git-send-email 1.7.9 In-Reply-To: <1329118064-9412-1-git-send-email-namhyung.kim@lge.com> References: <1329118064-9412-1-git-send-email-namhyung.kim@lge.com> X-Brightmail-Tracker: AAAAAA== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1701 Lines: 50 When event group is enabled for forked task (i.e. no target task was specified) all events were disabled and marked ->enable_on_exec. However they are not counted at all since only group leader will be enabled on exec actually. So the result looked like below: $ perf stat --group sleep 1 Performance counter stats for 'sleep 1': 0.530891 task-clock # 0.001 CPUs utilized context-switches CPU-migrations page-faults cycles stalled-cycles-frontend stalled-cycles-backend instructions branches branch-misses 1.001140177 seconds time elapsed Fix it by disabling group leader only. Signed-off-by: Namhyung Kim --- tools/perf/builtin-stat.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c index be2667236bea..2a592e52eaee 100644 --- a/tools/perf/builtin-stat.c +++ b/tools/perf/builtin-stat.c @@ -297,7 +297,7 @@ static int create_perf_stat_counter(struct perf_evsel *evsel, if (maps.system_wide) return perf_evsel__open_per_cpu(evsel, evsel_list->cpus, group, group_fd); - if (no_target_task(&maps)) { + if (no_target_task(&maps) && (!group || evsel == first)) { attr->disabled = 1; attr->enable_on_exec = 1; } -- 1.7.9 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/