[PATCH v2 0/6] x86/entry,lockdep: Improve IRQ state tracking

From: Peter Zijlstra
Date: Thu May 28 2020 - 10:17:26 EST


Ahmed and Sebastian wanted additional lockdep_assert*() macros and ran
into header hell.

Move the IRQ state into per-cpu variables, which removes the dependency on
task_struct, which is what generated the header-hell.

And fix IRQ state tracking to not be affected by lockdep_off() (it really
should not have been anyway) and extends IRQ state tracking across (x86)
NMIs.

They now survive a kbuild+perf-top load.

Changes since v1:

- this_cpu_inc_return() fix
- reordered patches
- fixed up changelogs
- fixed the actual NMI bits; we can't use IF on exit.