perf/x86: Remove warning for zero PEBS status
authorAndi Kleen <ak@linux.intel.com>
Thu, 3 Dec 2015 21:22:19 +0000 (13:22 -0800)
committerIngo Molnar <mingo@kernel.org>
Wed, 6 Jan 2016 10:15:30 +0000 (11:15 +0100)
The recent commit:

  75f80859b130 ("perf/x86/intel/pebs: Robustify PEBS buffer drain")

causes lots of warnings on different CPUs before Skylake
when running PEBS intensive workloads.

They can have a zero status field in the PEBS record when
PEBS is racing with clearing of GLOBAl_STATUS.

This also can cause hangs (it seems there are still
problems with printk in NMI).

Disable the warning, but still ignore the record.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vince Weaver <vincent.weaver@maine.edu>
Link: http://lkml.kernel.org/r/1449177740-5422-1-git-send-email-andi@firstfloor.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/kernel/cpu/perf_event_intel_ds.c

index 5db1c7755548e2ad472b2fbe5541125a45d90376..0e3a9c73187d9fb41858c9d8ae26a049fe5cc4ca 100644 (file)
@@ -1232,10 +1232,7 @@ static void intel_pmu_drain_pebs_nhm(struct pt_regs *iregs)
 
                bit = find_first_bit((unsigned long *)&pebs_status,
                                        x86_pmu.max_pebs_events);
-               if (WARN(bit >= x86_pmu.max_pebs_events,
-                        "PEBS record without PEBS event! status=%Lx pebs_enabled=%Lx active_mask=%Lx",
-                        (unsigned long long)p->status, (unsigned long long)cpuc->pebs_enabled,
-                        *(unsigned long long *)cpuc->active_mask))
+               if (bit >= x86_pmu.max_pebs_events)
                        continue;
 
                /*
This page took 0.026139 seconds and 5 git commands to generate.