size_t perf_event__fprintf_aux(union perf_event *event, FILE *fp)
 {
-       return fprintf(fp, " offset: %#"PRIx64" size: %#"PRIx64" flags: %#"PRIx64" [%s%s]\n",
+       return fprintf(fp, " offset: %#"PRIx64" size: %#"PRIx64" flags: %#"PRIx64" [%s%s%s]\n",
                       event->aux.aux_offset, event->aux.aux_size,
                       event->aux.flags,
                       event->aux.flags & PERF_AUX_FLAG_TRUNCATED ? "T" : "",
-                      event->aux.flags & PERF_AUX_FLAG_OVERWRITE ? "O" : "");
+                      event->aux.flags & PERF_AUX_FLAG_OVERWRITE ? "O" : "",
+                      event->aux.flags & PERF_AUX_FLAG_PARTIAL   ? "P" : "");
 }
 
 size_t perf_event__fprintf_itrace_start(union perf_event *event, FILE *fp)
 
 #include <linux/kernel.h>
 #include <traceevent/event-parse.h>
+#include <api/fs/fs.h>
 
 #include <byteswap.h>
 #include <unistd.h>
        case PERF_RECORD_UNTHROTTLE:
                return tool->unthrottle(tool, event, sample, machine);
        case PERF_RECORD_AUX:
-               if (tool->aux == perf_event__process_aux &&
-                   (event->aux.flags & PERF_AUX_FLAG_TRUNCATED))
-                       evlist->stats.total_aux_lost += 1;
+               if (tool->aux == perf_event__process_aux) {
+                       if (event->aux.flags & PERF_AUX_FLAG_TRUNCATED)
+                               evlist->stats.total_aux_lost += 1;
+                       if (event->aux.flags & PERF_AUX_FLAG_PARTIAL)
+                               evlist->stats.total_aux_partial += 1;
+               }
                return tool->aux(tool, event, sample, machine);
        case PERF_RECORD_ITRACE_START:
                return tool->itrace_start(tool, event, sample, machine);
                            stats->nr_events[PERF_RECORD_AUX]);
        }
 
+       if (session->tool->aux == perf_event__process_aux &&
+           stats->total_aux_partial != 0) {
+               bool vmm_exclusive = false;
+
+               (void)sysfs__read_bool("module/kvm_intel/parameters/vmm_exclusive",
+                                      &vmm_exclusive);
+
+               ui__warning("AUX data had gaps in it %" PRIu64 " times out of %u!\n\n"
+                           "Are you running a KVM guest in the background?%s\n\n",
+                           stats->total_aux_partial,
+                           stats->nr_events[PERF_RECORD_AUX],
+                           vmm_exclusive ?
+                           "\nReloading kvm_intel module with vmm_exclusive=0\n"
+                           "will reduce the gaps to only guest's timeslices." :
+                           "");
+       }
+
        if (stats->nr_unknown_events != 0) {
                ui__warning("Found %u unknown events!\n\n"
                            "Is this an older tool processing a perf.data "