lockdep: Simplify a bit hardirq <-> softirq transitions
authorFrederic Weisbecker <fweisbec@gmail.com>
Wed, 20 Nov 2013 00:07:34 +0000 (01:07 +0100)
committerIngo Molnar <mingo@kernel.org>
Wed, 27 Nov 2013 10:09:40 +0000 (11:09 +0100)
commit5c4853b60ca8ec3d989ce05a5e995d15c3ed52c0
treec1dce0aa885edfab01f7f213bb734f285ad83b56
parent7d5b15831039837f3551bf40f188385ed8ad5e16
lockdep: Simplify a bit hardirq <-> softirq transitions

Instead of saving the hardirq state on a per CPU variable, which require
an explicit call before the softirq handling and some complication,
just save and restore the hardirq tracing state through functions
return values and parameters.

It simplifies a bit the black magic that works around the fact that
softirqs can be called from hardirqs while hardirqs can nest on softirqs
but those two cases have very different semantics and only the latter
case assume both states.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Link: http://lkml.kernel.org/r/1384906054-30676-1-git-send-email-fweisbec@gmail.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
kernel/softirq.c