[lkml]   [2012]   [Jul]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 08/11] perf tool: precise mode requires exclude_guest
On 7/24/12 12:03 PM, Arnaldo Carvalho de Melo wrote:
> Em Tue, Jul 24, 2012 at 11:28:48AM -0600, David Ahern escreveu:
>> On 7/24/12 10:15 AM, Robert Richter wrote:
>>> On AMD cpus precise_ip maps to IBS, which does not support hardware
>>> options as perfctrs do. Thus, following attr flags are not supported:
>>> exclude_user, exclude_kernel, exclude_host, exclude_guest
>>> Counting in guest mode is possible with IBS, but not the exclusion of
>>> a certain mode. If precise_ip counting is enabled on AMD we may not
>>> set the exclude_guest flag.
>> Ok, so with AMD precise_ip requires exclude_guest to be unset; for
>> Intel we need it set.
>> So then we look at vendor_id in /proc/cpuinfo?
> Does it return EOPNOTSUPP or something similar if something not
> supported is asked for?
> Fallbacking, or capability querying if you will, may be the way to do it
> without having to maintain an userland table for what is possible,
> leaving it to the kernel drivers for each arch.

Peter's patch (see changes kernel
side to require the use of exclude_guest if the precise modifier is
used, returning -EOPNOTSUPP if exclude_guest is not set. This patch goes
after the user experience: Today if a user specifies -e <event>:p all
other modifiers are reset - including exclude_guest. Going forward we
need :p to imply :pH if a user has not specified a GH modifer.

We could do nothing and handle the unsupported error and try setting the
exclude_guest option - like perf handles other new parameters. But
EOPNOTSUPP is not uniquely tied to this error -- e.g., it could be the
BTS is not supported (:pp). Also, we have no easy way to discriminate :p
from :pG or :pGH. It seems to me perf should not silently undo a user
request on the modifier, but inform the user the request is wrong. For
example if a user request -e cycles:pG it should not be silently turned
into :pH.

And then yesterday, Robert stated that none of the exclude_xxxx
modifiers can be set for the AMD if the precise modifier is used, so we
cannot blindly set exclude_guest if precise_ip is set.

So, seems to me perf need's one action for Intel processors and another
for AMD.


> We do it now for sample_id_all and some other newer stuff, maybe we can
> do it for this as well.
> - Arnaldo

 \ /
  Last update: 2012-07-26 07:41    [W:0.161 / U:0.132 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site