Re: [patch 61/66] timers: Convert to hotplug state machine

From: Jon Hunter
Date: Tue Jul 26 2016 - 14:17:07 EST


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