Re: perf: record segfaults for cycles event when collecting data on a VM

Joerg Roedel
2012-02-08T17:57:18Z

On Wed, Feb 08, 2012 at 10:53:04AM -0700, David Ahern wrote:

> The segfault is in the event processing once the collection is done
> (perf-record), so the time length should not matter.

Yes, but I wanted to make sure there is a GUEST_KERNEL sample in there
to process. It usually takes some time (at least in my tests) to get a
spurious one.

> Either way, this fixes the segafult:
>
> diff --git a/tools/perf/util/util.c b/tools/perf/util/util.c
> index 8131410..fb25d13 100644
> --- a/tools/perf/util/util.c
> +++ b/tools/perf/util/util.c
> @@ -6,7 +6,7 @@
> * XXX We need to find a better place for these things...
> */
> bool perf_host = true;
> -bool perf_guest = true;
> +bool perf_guest = false;
>
> void event_attr_init(struct perf_event_attr *attr)
> {
>
> which makes sense. It forces perf_session__find_machine_for_cpumode() to
> return the host machine always.

Great, thanks. I will send two patches tomorrow to fix Jason's problem
and change the default for perf_guest.

Joerg

--
AMD Operating System Research Center

Advanced Micro Devices GmbH Einsteinring 24 85609 Dornach
General Managers: Alberto Bozzo
Registration: Dornach, Landkr. Muenchen; Registerger. Muenchen, HRB Nr. 43632