Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753657AbbGWTKr (ORCPT ); Thu, 23 Jul 2015 15:10:47 -0400 Received: from mail-wi0-f176.google.com ([209.85.212.176]:38816 "EHLO mail-wi0-f176.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751670AbbGWTKo (ORCPT ); Thu, 23 Jul 2015 15:10:44 -0400 MIME-Version: 1.0 In-Reply-To: <1437651990-62019-1-git-send-email-kan.liang@intel.com> References: <1437651990-62019-1-git-send-email-kan.liang@intel.com> Date: Thu, 23 Jul 2015 12:10:42 -0700 Message-ID: Subject: Re: [PATCH 0/5] Freq/CPU%/CORE_BUSY% support From: Stephane Eranian To: Kan Liang Cc: Peter Zijlstra , Arnaldo Carvalho de Melo , Andy Lutomirski , "mingo@redhat.com" , "ak@linux.intel.com" , Mark Rutland , Adrian Hunter , Jiri Olsa , Namhyung Kim , LKML Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3624 Lines: 78 On Thu, Jul 23, 2015 at 4:46 AM, Kan Liang wrote: > This patch set supports per-sample freq/CPU%/CORE_BUSY% print in perf > report -D and --stdio. > For printing these information, the perf.data file must have been obtained > by group read and using special events cycles, ref-cycles, msr/tsc/, > msr/aperf/ or msr/mperf/. > > - Freq (MHz): The frequency during the sample interval. Needs cycles > ref-cycles event. > - CPU%: CPU utilization during the sample interval. Needs ref-cycles and > msr/tsc/ events. > - CORE_BUSY%: actual percent performance (APERF/MPERF%) during the > sample interval. Needs msr/aperf/ and msr/mperf/ events. > > For printing CPU% and CORE_BUSY%, please also apply the kernel patch. > http://marc.info/?l=linux-kernel&m=143747254926369&w=2 > > Here is an example: > > $ perf record -e > '{cycles,ref-cycles,msr/tsc/,msr/mperf/,msr/aperf/}:S' ~/tchain_edit > > $ perf report --stdio --group --show-freq-perf > Based on what I see in the patch, you are assuming that you ALWAYS run perf report on the same system as where you ran perf record. This is a problem on servers. so you need to have all the information you need in the perf.data file. You cannot fish the information from sysfs on the host where perf report runs. > Overhead FREQ MHz CPU% CORE_BUSY% > Command Shared Object Symbol > ........................................ ......... ..... .......... > ........... ................ ...................... > > 99.54% 99.54% 99.53% 99.53% 99.53% 2301 96 99 > tchain_edit tchain_edit [.] f3 > 0.20% 0.20% 0.20% 0.20% 0.20% 2301 98 99 > tchain_edit tchain_edit [.] f2 > 0.05% 0.05% 0.05% 0.05% 0.05% 2300 98 99 > tchain_edit [kernel.vmlinux] [k] read_tsc > > Kan Liang (5): > perf,tools: introduce get_cpu_max_freq > perf,tools: Dump per-sample freq/CPU%/CORE_BUSY% in report -D > perf,tools: save misc sample read value in struct perf_sample > perf,tools: caculate and save freq/CPU%/CORE_BUSY% in he_stat > perf,tools: Show freq/CPU%/CORE_BUSY% in perf report --stdio > > tools/perf/Documentation/perf-report.txt | 12 ++++++ > tools/perf/builtin-annotate.c | 2 +- > tools/perf/builtin-diff.c | 2 +- > tools/perf/builtin-report.c | 24 +++++++++++ > tools/perf/perf.h | 1 + > tools/perf/tests/hists_link.c | 4 +- > tools/perf/ui/hist.c | 71 +++++++++++++++++++++++++++++--- > tools/perf/util/cpumap.c | 32 ++++++++++++++ > tools/perf/util/cpumap.h | 2 + > tools/perf/util/event.h | 11 +++++ > tools/perf/util/hist.c | 51 ++++++++++++++++++++--- > tools/perf/util/hist.h | 5 +++ > tools/perf/util/pmu.h | 2 + > tools/perf/util/session.c | 50 +++++++++++++++++++--- > tools/perf/util/session.h | 28 +++++++++++++ > tools/perf/util/sort.c | 3 ++ > tools/perf/util/sort.h | 3 ++ > tools/perf/util/symbol.h | 9 +++- > tools/perf/util/util.c | 2 + > 19 files changed, 293 insertions(+), 21 deletions(-) > > -- > 1.8.3.1 > -- 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/