[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170620214050.GA5880@krava>
Date: Tue, 20 Jun 2017 23:43:12 +0200
From: Jiri Olsa <jolsa@...hat.com>
To: kan.liang@...el.com
Cc: acme@...nel.org, tglx@...utronix.de, mingo@...hat.com,
linux-kernel@...r.kernel.org, peterz@...radead.org,
eranian@...gle.com, jolsa@...nel.org, elliott@....com,
ak@...ux.intel.com
Subject: Re: [PATCH V2 0/2] measure SMI cost (user)
On Fri, May 26, 2017 at 12:05:36PM -0700, kan.liang@...el.com wrote:
> From: Kan Liang <Kan.liang@...el.com>
>
> Currently, there is no way to measure the time cost in System management
> mode (SMM) by perf.
>
> Intel perfmon supports FREEZE_WHILE_SMM bit in IA32_DEBUGCTL. Once it sets,
> the PMU core counters will freeze on SMI handler. But it will not have an
> effect on free running counters. E.g. APERF counter.
> The cost of SMI can be measured by (aperf - unhalted core cycles).
>
> A new sysfs entry /sys/device/cpu/freeze_on_smi is introduced to set
> FREEZE_WHILE_SMM bit in IA32_DEBUGCTL. (kernel patch, which has been merged.
> The commit ID is 6089327f5424f227bb6a8cf92363c2617e054453)
>
> A new --smi-cost mode in perf stat is implemented to measure the SMI cost
> by calculating unhalted core cycles and aperf results.
>
> In practice, the percentages of SMI cycles is very useful for performance
> oriented analysis. So the output will be SMI cycles% and SMI#.
> For users who wants to get the actual value, they can apply --no-metric-only.
>
> Here is an example of default output.
>
> Performance counter stats for 'sudo echo ':
>
> SMI cycles% SMI#
> 0.1% 1
>
> 0.010858678 seconds time elapsed
>
> Changes since V1:
> - Check path array before trying to open that path. (Robert)
> - Refine change logs
>
> Kan Liang (2):
> tools lib api fs: Add sysfs__write_int function
> perf stat: Add support to measure SMI cost
Acked-by: Jiri Olsa <jolsa@...nel.org>
thanks,
jirka
Powered by blists - more mailing lists