Hi Richard, On 26/07/16 16:42, rcochran@xxxxxxxxxxxxx wrote: > Jon, > > On Mon, Jul 25, 2016 at 03:56:48PM +0100, Jon Hunter wrote: >>> When tearing down, call timers_dead_cpu before notify_dead. >>> There is a hidden dependency between: >>> >>> - timers >>> - Block multiqueue >>> - rcutree >>> >>> If timers_dead_cpu() comes later than blk_mq_queue_reinit_notify() >>> that latter function causes a RCU stall. >> >> After this change is applied I am seeing RCU stalls during suspend >> on Tegra. I guess I am hitting the case mentioned above? How should >> this be avoided? > > Contrary to the commit message, this callback ended up in the wrong > place within the sequence. (It was correct in an earlier version, but > the series has been through many changes.) > > Can you try this patch to see if it avoids the stall, please? I have included the patch and I am no longer seeing any RCU stalls and so this does look like it fixed it. Thanks! Jon -- nvpublic -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html