perf/x86/intel: Add lockdep assert
authorPeter Zijlstra <peterz@infradead.org>
Thu, 21 May 2015 10:38:21 +0000 (12:38 +0200)
committerIngo Molnar <mingo@kernel.org>
Wed, 27 May 2015 07:17:42 +0000 (09:17 +0200)
Lockdep is very good at finding incorrect IRQ state while locking and
is far better at telling us if we hold a lock than the _is_locked()
API. It also generates less code for !DEBUG kernels.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
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>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/kernel/cpu/perf_event_intel.c

index 0ea040562bb8805d9fb87a5673158f7eeccc3873..5182cee16367390808fb28c8ec0c22d60d87dbdc 100644 (file)
@@ -1926,7 +1926,6 @@ intel_start_scheduling(struct cpu_hw_events *cpuc)
         * in stop_event_scheduling()
         * makes scheduling appear as a transaction
         */
-       WARN_ON_ONCE(!irqs_disabled());
        raw_spin_lock(&excl_cntrs->lock);
 
        /*
@@ -2208,7 +2207,7 @@ static void intel_commit_scheduling(struct cpu_hw_events *cpuc, int idx, int cnt
 
        xl = &excl_cntrs->states[tid];
 
-       WARN_ON_ONCE(!raw_spin_is_locked(&excl_cntrs->lock));
+       lockdep_assert_held(&excl_cntrs->lock);
 
        if (cntr >= 0) {
                if (c->flags & PERF_X86_EVENT_EXCL)