perf tools: Handle partial AUX records and print a warning
authorAlexander Shishkin <alexander.shishkin@linux.intel.com>
Thu, 16 Mar 2017 16:41:59 +0000 (18:41 +0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 17 Mar 2017 14:52:18 +0000 (11:52 -0300)
commit05a1f47ed47a83736aca117aeee96e926cc0dfd0
treed1314875b67fbb3d09bb52e909f05d70d88c62e0
parent38a33f07122f6e6194bf5402c0cd057d1cc50be8
perf tools: Handle partial AUX records and print a warning

This patch decodes the 'partial' flag in AUX records and prints
a warning to the user, so that they don't have to guess why their
PT traces contain gaps (or missing altogether):

  Warning:
  AUX data had gaps in it 8 times out of 8!

  Are you running a KVM guest in the background?

Trying to be even more helpful, we will detect if the user's kvm driver sets up
exclusive VMX root mode for the entire lifespan of the kvm process:

  Reloading kvm_intel module with vmm_exclusive=0
  will reduce the gaps to only guest's timeslices.

Note however, that you'll still have gaps in cpu-wide traces even with
vmm_exclusive=0, but the number of gaps will be below 100% (as opposed to the
above example).

Currently this is the only reason for partial records.

Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Stephane Eranian <eranian@google.com>
Cc: Vince Weaver <vince@deater.net>
Link: http://lkml.kernel.org/r/8760j941ig.fsf@ashishki-desk.ger.corp.intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/event.c
tools/perf/util/event.h
tools/perf/util/session.c