summaryrefslogtreecommitdiffstats
path: root/drivers/md
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2014-09-24 10:18:55 +0200
committerIngo Molnar <mingo@kernel.org>2014-10-28 10:56:52 +0100
commit8eb23b9f35aae413140d3fda766a98092c21e9b0 (patch)
tree657a91ed72882475ada772da052a8a332d70a2dc /drivers/md
parent26cabd31259ba43f68026ce3f62b78094124333f (diff)
sched: Debug nested sleeps
Validate we call might_sleep() with TASK_RUNNING, which catches places where we nest blocking primitives, eg. mutex usage in a wait loop. Since all blocking is arranged through task_struct::state, nesting this will cause the inner primitive to set TASK_RUNNING and the outer will thus not block. Another observed problem is calling a blocking function from schedule()->sched_submit_work()->blk_schedule_flush_plug() which will then destroy the task state for the actual __schedule() call that comes after it. Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: tglx@linutronix.de Cc: ilya.dryomov@inktank.com Cc: umgwanakikbuti@gmail.com Cc: oleg@redhat.com Cc: Linus Torvalds <torvalds@linux-foundation.org> Link: http://lkml.kernel.org/r/20140924082242.591637616@infradead.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'drivers/md')
0 files changed, 0 insertions, 0 deletions