summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2020-02-20 11:45:02 +0300
committerPeter Zijlstra <peterz@infradead.org>2020-03-20 15:06:25 +0300
commitf6f48e18040402136874a6a71611e081b4d0788a (patch)
tree494c4d17ab3f9744cc60647470b10ff45aefaf47 /drivers
parent248efb2158f1e23750728e92ad9db3ab60c14485 (diff)
downloadlinux-f6f48e18040402136874a6a71611e081b4d0788a.tar.xz
lockdep: Teach lockdep about "USED" <- "IN-NMI" inversions
nmi_enter() does lockdep_off() and hence lockdep ignores everything. And NMI context makes it impossible to do full IN-NMI tracking like we do IN-HARDIRQ, that could result in graph_lock recursion. However, since look_up_lock_class() is lockless, we can find the class of a lock that has prior use and detect IN-NMI after USED, just not USED after IN-NMI. NOTE: By shifting the lockdep_off() recursion count to bit-16, we can easily differentiate between actual recursion and off. Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by: Frederic Weisbecker <frederic@kernel.org> Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org> Link: https://lkml.kernel.org/r/20200221134215.090538203@infradead.org
Diffstat (limited to 'drivers')
0 files changed, 0 insertions, 0 deletions