lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5010D2B1.3000206@gmail.com>
Date:	Wed, 25 Jul 2012 23:16:33 -0600
From:	David Ahern <dsahern@...il.com>
To:	Arnaldo Carvalho de Melo <acme@...stprotocols.net>
CC:	Robert Richter <robert.richter@....com>,
	Peter Zijlstra <peterz@...radead.org>,
	linux-kernel@...r.kernel.org, Ingo Molnar <mingo@...nel.org>,
	Jiri Olsa <jolsa@...hat.com>,
	Namhyung Kim <namhyung@...nel.org>,
	Frederic Weisbecker <fweisbec@...il.com>,
	Gleb Natapov <gleb@...hat.com>
Subject: Re: [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 https://lkml.org/lkml/2012/7/9/298) 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.

David

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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ