[GIT PULL] lockdep: Add lightweight IRQs disabled/enabled check v2

Frederic Weisbecker
2017-11-06T15:06:16Z

Ingo,

Please pull the lockdep/irq-v2 branch that can be found at:

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

HEAD: c741fbe70afb0e488f4356456e6397d205f115ce

--
Changes on v2:

* Fix spurious warnings when lockdep is temporarily disabled, like NTFS
does while mounting superblock (reported by Wu Fengguang).

* Remove the IRQ flags auto-correction which doesn't make anymore sense
now that the assertion is config-dependent. (Suggested by Peter Zijlstra).

--

Summary:

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.

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 | 4 +---
arch/x86/kernel/smpboot.c | 2 +-
include/linux/lockdep.h | 15 +++++++++++++++
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, 54 insertions(+), 45 deletions(-)