From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751145AbdFBE0J (ORCPT ); Fri, 2 Jun 2017 00:26:09 -0400 Received: from mga06.intel.com ([134.134.136.31]:57651 "EHLO mga06.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750711AbdFBE0J (ORCPT ); Fri, 2 Jun 2017 00:26:09 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.39,283,1493708400"; d="scan'208";a="863781638" From: changbin.du@intel.com To: peterz@infradead.org, mingo@redhat.com, alexander.shishkin@linux.intel.com, jolsa@kernel.org Cc: linux-kernel@vger.kernel.org, Changbin Du Subject: [PATCH v2] perf sort: only insert overhead && overhead_children when no overhead* field given Date: Fri, 2 Jun 2017 12:22:00 +0800 Message-Id: <1496377320-6114-1-git-send-email-changbin.du@intel.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1496307801-24134-1-git-send-email-changbin.du@intel.com> References: <1496307801-24134-1-git-send-email-changbin.du@intel.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Changbin Du If we always insert 'overhead' and 'overhead_children' as sort keys, this make it impossible to sort as overhead (which displayed as Self) first.Ths will be a problem if the data is collected with call-graph enabled. Then we never can sort the result as self-overhead on this data. And sometimes the data is hard to collect. > perf record -ag > perf report -s overhead,sym Samples: 7K of event 'cycles', Event count (approx.): 865138253 Children Self Symbol + 26.41% 0.00% [k] verify_cpu + 26.37% 0.04% [k] cpu_startup_entry + 25.93% 0.27% [k] do_idle + 19.88% 0.00% [k] start_secondary .... I intend to sort as 'Self', but actually it sort as 'Children'. This patch fix this by only insert overhead && overhead_children when no overhead* field given. Signed-off-by: Changbin Du --- v2: Add the example in commit message. --- tools/perf/util/sort.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c index 5762ae4..69eea3a 100644 --- a/tools/perf/util/sort.c +++ b/tools/perf/util/sort.c @@ -2635,6 +2635,9 @@ static char *setup_overhead(char *keys) if (sort__mode == SORT_MODE__DIFF) return keys; + if (strstr(keys, "overhead")) + return keys; + keys = prefix_if_not_in("overhead", keys); if (symbol_conf.cumulate_callchain) -- 2.7.4