sched/clock, sched/cputime: Use lockdep to assert IRQs are disabled/enabled
authorFrederic Weisbecker <frederic@kernel.org>
Mon, 6 Nov 2017 15:01:27 +0000 (16:01 +0100)
committerIngo Molnar <mingo@kernel.org>
Wed, 8 Nov 2017 10:13:53 +0000 (11:13 +0100)
Use lockdep to check that IRQs are enabled or disabled as expected. This
way the sanity check only shows overhead when concurrency correctness
debug code is enabled.

Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Cc: David S . Miller <davem@davemloft.net>
Cc: Lai Jiangshan <jiangshanlai@gmail.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Tejun Heo <tj@kernel.org>
Link: http://lkml.kernel.org/r/1509980490-4285-12-git-send-email-frederic@kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
kernel/sched/clock.c
kernel/sched/cputime.c

index ca0f8fc945c6d0891ffc58f54d2c08c271c21c65..e086babe6c611b5abc75143b867ac2aca38c99b2 100644 (file)
@@ -388,7 +388,7 @@ void sched_clock_tick(void)
        if (unlikely(!sched_clock_running))
                return;
 
-       WARN_ON_ONCE(!irqs_disabled());
+       lockdep_assert_irqs_disabled();
 
        scd = this_scd();
        __scd_stamp(scd);
index 14d2dbf97c531db0dd0c1bba3113a35cbe8d3bd9..9be8b68a66da0cf5a334f2cd38d915b31a2a4b65 100644 (file)
@@ -259,8 +259,7 @@ static inline u64 account_other_time(u64 max)
 {
        u64 accounted;
 
-       /* Shall be converted to a lockdep-enabled lightweight check */
-       WARN_ON_ONCE(!irqs_disabled());
+       lockdep_assert_irqs_disabled();
 
        accounted = steal_account_process_time(max);