2012-11-23 09:33:57

by Thomas Gleixner

[permalink] [raw]
Subject: Re: [regression] 3.7+ suspend to RAM/offline CPU fails with nmi_watchdog=0 (bisected)

On Wed, 21 Nov 2012, Norbert Warmuth wrote:
> 3.7-rc6 booted with nmi_watchdog=0 fails to suspend to RAM or
> offline CPUs. It's reproducable with a KVM guest and physical
> system.

Does the patch below fix it?

Thanks,

tglx

diff --git a/kernel/watchdog.c b/kernel/watchdog.c
index 9d4c8d5..e3ef521 100644
--- a/kernel/watchdog.c
+++ b/kernel/watchdog.c
@@ -368,6 +368,9 @@ static void watchdog_disable(unsigned int cpu)
{
struct hrtimer *hrtimer = &__raw_get_cpu_var(watchdog_hrtimer);

+ if (!watchdog_enabled)
+ return;
+
watchdog_set_prio(SCHED_NORMAL, 0);
hrtimer_cancel(hrtimer);
/* disable the perf event */

2012-11-23 13:11:47

by Norbert Warmuth

[permalink] [raw]
Subject: Re: [regression] 3.7+ suspend to RAM/offline CPU fails with nmi_watchdog=0 (bisected)

Thomas Gleixner writes:
> On Wed, 21 Nov 2012, Norbert Warmuth wrote:
>> 3.7-rc6 booted with nmi_watchdog=0 fails to suspend to RAM or
>> offline CPUs. It's reproducable with a KVM guest and physical
>> system.
>
> Does the patch below fix it?

Yes.

- Norbert

> diff --git a/kernel/watchdog.c b/kernel/watchdog.c
> index 9d4c8d5..e3ef521 100644
> --- a/kernel/watchdog.c
> +++ b/kernel/watchdog.c
> @@ -368,6 +368,9 @@ static void watchdog_disable(unsigned int cpu)
> {
> struct hrtimer *hrtimer = &__raw_get_cpu_var(watchdog_hrtimer);
>
> + if (!watchdog_enabled)
> + return;
> +
> watchdog_set_prio(SCHED_NORMAL, 0);
> hrtimer_cancel(hrtimer);
> /* disable the perf event */

2012-11-28 16:57:28

by Joseph Salisbury

[permalink] [raw]
Subject: Re: [regression] 3.7+ suspend to RAM/offline CPU fails with nmi_watchdog=0 (bisected)

On 11/23/2012 08:11 AM, Norbert Warmuth wrote:
> Thomas Gleixner writes:
>> On Wed, 21 Nov 2012, Norbert Warmuth wrote:
>>> 3.7-rc6 booted with nmi_watchdog=0 fails to suspend to RAM or
>>> offline CPUs. It's reproducable with a KVM guest and physical
>>> system.
>> Does the patch below fix it?
> Yes.
>
> - Norbert
>
>> diff --git a/kernel/watchdog.c b/kernel/watchdog.c
>> index 9d4c8d5..e3ef521 100644
>> --- a/kernel/watchdog.c
>> +++ b/kernel/watchdog.c
>> @@ -368,6 +368,9 @@ static void watchdog_disable(unsigned int cpu)
>> {
>> struct hrtimer *hrtimer = &__raw_get_cpu_var(watchdog_hrtimer);
>>
>> + if (!watchdog_enabled)
>> + return;
>> +
>> watchdog_set_prio(SCHED_NORMAL, 0);
>> hrtimer_cancel(hrtimer);
>> /* disable the perf event */
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

Hi Thomas,

Your patch also fixes a bug[0] reported against Ubuntu. I assume the
window for v3.7 is closed. Will you be submitting this patch for
inclusion in v3.8?

Thanks,

Joe

[0] http://bugs.launchpad.net/bugs/1079534

2012-11-28 20:37:17

by Thomas Gleixner

[permalink] [raw]
Subject: Re: [regression] 3.7+ suspend to RAM/offline CPU fails with nmi_watchdog=0 (bisected)

On Wed, 28 Nov 2012, Joseph Salisbury wrote:
> On 11/23/2012 08:11 AM, Norbert Warmuth wrote:
> > Thomas Gleixner writes:
> > > On Wed, 21 Nov 2012, Norbert Warmuth wrote:
> > > > 3.7-rc6 booted with nmi_watchdog=0 fails to suspend to RAM or
> > > > offline CPUs. It's reproducable with a KVM guest and physical
> > > > system.
> > > Does the patch below fix it?
> > Yes.
> >
> > - Norbert
> >
> > > diff --git a/kernel/watchdog.c b/kernel/watchdog.c
> > > index 9d4c8d5..e3ef521 100644
> > > --- a/kernel/watchdog.c
> > > +++ b/kernel/watchdog.c
> > > @@ -368,6 +368,9 @@ static void watchdog_disable(unsigned int cpu)
> > > {
> > > struct hrtimer *hrtimer = &__raw_get_cpu_var(watchdog_hrtimer);
> > > + if (!watchdog_enabled)
> > > + return;
> > > +
> > > watchdog_set_prio(SCHED_NORMAL, 0);
> > > hrtimer_cancel(hrtimer);
> > > /* disable the perf event */
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> > the body of a message to [email protected]
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
> > Please read the FAQ at http://www.tux.org/lkml/
>
> Hi Thomas,
>
> Your patch also fixes a bug[0] reported against Ubuntu. I assume the window
> for v3.7 is closed. Will you be submitting this patch for inclusion in v3.8?

Sure, with a stable tag so it gets back into 3.7

Thanks,

tglx