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

2016-07-26 Thread Jon Hunter
Hi Richard, On 26/07/16 15:40, rcoch...@linutronix.de wrote: > Jon, > > On Tue, Jul 26, 2016 at 10:20:58AM +0100, Jon Hunter wrote: >> Thanks. I have not tried another ARM based device, but I would be >> curious if another ARM device sees this or not. > > I do see this stall on socfpga and on zy

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

2016-07-26 Thread Jon Hunter
Hi Thomas, On 26/07/16 15:15, Thomas Gleixner wrote: > Jon, > > On Tue, 26 Jul 2016, Jon Hunter wrote: >> On 25/07/16 16:35, rcoch...@linutronix.de wrote: >>> Just to be sure, this problem didn't exist before the HP rework, that >>> is, suspend worked fine with and without CONFIG_PREEMPT, right?

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

2016-07-26 Thread Jon Hunter
Hi Richard, On 26/07/16 16:42, rcoch...@linutronix.de 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 >>> >

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

2016-07-26 Thread rcochran
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(

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

2016-07-26 Thread rcochran
Jon, On Tue, Jul 26, 2016 at 10:20:58AM +0100, Jon Hunter wrote: > Thanks. I have not tried another ARM based device, but I would be > curious if another ARM device sees this or not. I do see this stall on socfpga and on zynq, but in both cases the suspend mechanism is flakey in other ways, too.

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

2016-07-26 Thread Thomas Gleixner
Jon, On Tue, 26 Jul 2016, Jon Hunter wrote: > On 25/07/16 16:35, rcoch...@linutronix.de wrote: > > Just to be sure, this problem didn't exist before the HP rework, that > > is, suspend worked fine with and without CONFIG_PREEMPT, right? > > Correct. I test suspend on Tegra with both multi_v7_defc

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

2016-07-26 Thread Jon Hunter
On 25/07/16 21:46, rcoch...@linutronix.de wrote: > On Mon, Jul 25, 2016 at 05:35:43PM +0200, rcoch...@linutronix.de wrote: >> I see if I can find a tegra system to test with... > > I tried the tip:smp/hotplug branch under kvm x86_64, and I didn't see > any problems with suspend or hibernate, even

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

2016-07-26 Thread Jon Hunter
On 25/07/16 16:35, rcoch...@linutronix.de wrote: > On Mon, Jul 25, 2016 at 03:56:48PM +0100, Jon Hunter wrote: >>> There is a hidden dependency between: >>> >>> - timers >>> - Block multiqueue >>> - rcutree >>> >>> If timers_dead_cpu() comes later than blk_mq_queue_reinit_notify() >>> that latter

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

2016-07-25 Thread rcochran
On Mon, Jul 25, 2016 at 05:35:43PM +0200, rcoch...@linutronix.de wrote: > I see if I can find a tegra system to test with... I tried the tip:smp/hotplug branch under kvm x86_64, and I didn't see any problems with suspend or hibernate, even with CONFIG_PREEMPT_NONE. I'll see if I can get my hands o

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

2016-07-25 Thread rcochran
On Mon, Jul 25, 2016 at 03:56:48PM +0100, Jon Hunter wrote: > > 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

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

2016-07-25 Thread Jon Hunter
Hi Richard, On 11/07/16 13:29, Anna-Maria Gleixner wrote: > From: Richard Cochran > > 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_no