Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755229AbbGZQbJ (ORCPT ); Sun, 26 Jul 2015 12:31:09 -0400 Received: from mx1.redhat.com ([209.132.183.28]:52780 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755184AbbGZQbH (ORCPT ); Sun, 26 Jul 2015 12:31:07 -0400 Date: Sun, 26 Jul 2015 18:31:01 +0200 From: Jiri Olsa To: Kan Liang Cc: a.p.zijlstra@chello.nl, mingo@redhat.com, acme@kernel.org, eranian@google.com, ak@linux.intel.com, mark.rutland@arm.com, adrian.hunter@intel.com, dsahern@gmail.com, jolsa@kernel.org, namhyung@kernel.org, linux-kernel@vger.kernel.org, Andy Lutomirski Subject: Re: [PATCH RFC V2 1/1] x86, perf: Add a freq pmu driver Message-ID: <20150726163101.GA24646@krava.brq.redhat.com> References: <1437407346-31186-1-git-send-email-kan.liang@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1437407346-31186-1-git-send-email-kan.liang@intel.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1821 Lines: 60 On Mon, Jul 20, 2015 at 11:49:06AM -0400, Kan Liang wrote: > From: Andy Lutomirski > > This patch adds freq PMU to support time and freq related counters > includes TSC, IA32_APERF, IA32_MPERF and IA32_PPERF. > > The events are exposed in sysfs for use by perf stat and other tools. > The files are under /sys/devices/freq/events/ > > These events only support system-wide mode counting. > > The PMU type (attr->type) is PERF_TYPE_FREQ. > > Example: > > To caculate the CPU% > CPU_Utilization = CPU_CLK_UNHALTED.REF_TSC / TSC > > $ perf stat -e '{ref-cycles,freq/tsc/}' -C0 -- taskset -c 0 sleep 1 > 3164023,,ref-cycles,1048387386,100.00 > 2410812089,,freq/tsc/,1050022373,100.00 > The CPU% for sleep is 0.13%. > > $ perf stat -e '{ref-cycles,freq/tsc/}' -C0 -- taskset -c 0 busyloop > 15662183572,,ref-cycles,6822637855,100.00 > 15667608992,,freq/tsc/,6823978523,100.00 > The CPU% for busy loop is 99.9%. > > Signed-off-by: Andy Lutomirski > Signed-off-by: Kan Liang SNIP > diff --git a/arch/x86/kernel/cpu/perf_event_freq.c b/arch/x86/kernel/cpu/perf_event_freq.c > new file mode 100644 > index 0000000..9389b3b > --- /dev/null > +++ b/arch/x86/kernel/cpu/perf_event_freq.c > @@ -0,0 +1,207 @@ > +#include > + > +enum perf_freq_id { > + /* > + * freq events, generalized by the kernel: > + */ > + PERF_FREQ_TSC = 0, > + PERF_FREQ_APERF = 1, > + PERF_FREQ_MPERF = 2, > + PERF_FREQ_PPERF = 3, > + > + PERF_FREQ_EVENT_MAX, /* non-ABI */ should this be in uapi header? jirka -- 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/