[PATCH 00/14] lockdep: Add lightweight IRQs disabled/enabled check

From: Frederic Weisbecker
Date: Thu Oct 19 2017 - 20:56:32 EST


Checking whether IRQs are disabled or enabled is often an important
sanity check. Now we can be sometimes reluctant to have it on fastpath
because reading the flags can be somewhat costly.

As suggested by Peter Zijlstra some time ago, this would be a nice
lockdep extension: it's the natural concurrency sanity checker and it
already tracks down the irqflags state.

So here it is.

git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
lockdep/irq

HEAD: 1cb58314de50c73eaf0b0322615ecb7a8ee39592

Thanks,
Frederic
---

Frederic Weisbecker (14):
lockdep: Add IRQs disabled/enabled assertion
irq: Use lockdep to assert IRQs are disabled/enabled
workqueue: Use lockdep to assert IRQs are disabled/enabled
nohz: Use lockdep to assert IRQs are disabled/enabled
hrtimer: Use lockdep to assert IRQs are disabled/enabled
smp: Use lockdep to assert IRQs are disabled/enabled
x86: Use lockdep to assert IRQs are disabled/enabled
perf: Use lockdep to assert IRQs are disabled/enabled
irq/timings: Use lockdep to assert IRQs are disabled/enabled
irq_work: Use lockdep to assert IRQs are disabled/enabled
sched: Use lockdep to assert IRQs are disabled/enabled
posix-cpu-timers: Use lockdep to assert IRQs are disabled/enabled
netpoll: Use lockdep to assert IRQs are disabled/enabled
rcu: Use lockdep to assert IRQs are disabled/enabled


arch/x86/entry/common.c | 2 +-
arch/x86/kernel/smpboot.c | 2 +-
include/linux/lockdep.h | 13 +++++++++++++
kernel/events/core.c | 12 ++++++------
kernel/irq/timings.c | 2 +-
kernel/irq_work.c | 2 +-
kernel/rcu/tree.c | 16 ++++++++--------
kernel/rcu/tree_plugin.h | 10 +++++-----
kernel/sched/clock.c | 2 +-
kernel/sched/cputime.c | 3 +--
kernel/smp.c | 2 +-
kernel/softirq.c | 10 +++++-----
kernel/time/hrtimer.c | 4 +---
kernel/time/posix-cpu-timers.c | 6 +++---
kernel/time/tick-sched.c | 5 ++---
kernel/workqueue.c | 2 +-
net/core/netpoll.c | 2 +-
17 files changed, 52 insertions(+), 43 deletions(-)