2008-02-11 22:58:28

by Lukas Hejtmanek

[permalink] [raw]
Subject: 2.6.25-rc1 regression - suspend to ram

Hello,

2.6.25-rc1 takes really long time till it suspends (about 30-40secs, used to
be about 5 secs at all) and it is resuming about few minutes. While resuming,
capslock toggles the capslock led but with few secs delay.

2.6.24-git15 was OK. 2.6.24 is OK.

I have Lenovo ThinkPad T61.

--
Luk?? Hejtm?nek


2008-02-11 23:12:54

by R. J. Wysocki

[permalink] [raw]
Subject: Re: 2.6.25-rc1 regression - suspend to ram

On Monday, 11 of February 2008, Lukas Hejtmanek wrote:
> Hello,

Hi,

> 2.6.25-rc1 takes really long time till it suspends (about 30-40secs, used to
> be about 5 secs at all) and it is resuming about few minutes. While resuming,
> capslock toggles the capslock led but with few secs delay.
>
> 2.6.24-git15 was OK. 2.6.24 is OK.
>
> I have Lenovo ThinkPad T61.

If you have CONFIG_CPU_IDLE set, please try to boot with idle=poll and see if
that helps.

Thanks,
Rafael

2008-02-11 23:22:25

by Pallipadi, Venkatesh

[permalink] [raw]
Subject: Re: 2.6.25-rc1 regression - suspend to ram

On Tue, Feb 12, 2008 at 12:10:54AM +0100, R. J. Wysocki wrote:
> On Monday, 11 of February 2008, Lukas Hejtmanek wrote:
> > Hello,
>
> Hi,
>
> > 2.6.25-rc1 takes really long time till it suspends (about 30-40secs, used to
> > be about 5 secs at all) and it is resuming about few minutes. While resuming,
> > capslock toggles the capslock led but with few secs delay.
> >
> > 2.6.24-git15 was OK. 2.6.24 is OK.
> >
> > I have Lenovo ThinkPad T61.
>
> If you have CONFIG_CPU_IDLE set, please try to boot with idle=poll and see if
> that helps.
>

Just sent this patch to fix a regression in acpi processor_idle.c on another
thread. Can you try the patch below and check whether that helps.

Thanks,
Venki


Earlier patch (bc71bec91f9875ef825d12104acf3bf4ca215fa4) broke
suspend resume on many laptops. The problem was reported by
Carlos R. Mafra and Calvin Walton, who bisected the issue to above patch.

The problem was because, C2 and C3 code were calling acpi_idle_enter_c1
directly, with C2 or C3 as state parameter, while suspend/resume was in
progress. The patch bc71bec started making use of that state information,
assuming that it would always be referring to C1 state. This caused the
problem with suspend-resume as we ended up using C2/C3 state indirectly.

Fix this by adding acpi_idle_suspend check in enter_c1.

Signed-off-by: Venkatesh Pallipadi <[email protected]>

Index: linux-2.6.25-rc1/drivers/acpi/processor_idle.c
===================================================================
--- linux-2.6.25-rc1.orig/drivers/acpi/processor_idle.c
+++ linux-2.6.25-rc1/drivers/acpi/processor_idle.c
@@ -1420,6 +1420,14 @@ static int acpi_idle_enter_c1(struct cpu
return 0;

local_irq_disable();
+
+ /* Do not access any ACPI IO ports in suspend path */
+ if (acpi_idle_suspend) {
+ acpi_safe_halt();
+ local_irq_enable();
+ return 0;
+ }
+
if (pr->flags.bm_check)
acpi_idle_update_bm_rld(pr, cx);

2008-02-12 01:14:49

by Jesse Barnes

[permalink] [raw]
Subject: Re: 2.6.25-rc1 regression - suspend to ram

On Monday, February 11, 2008 3:22 pm Venki Pallipadi wrote:
> On Tue, Feb 12, 2008 at 12:10:54AM +0100, R. J. Wysocki wrote:
> > On Monday, 11 of February 2008, Lukas Hejtmanek wrote:
> > > Hello,
> >
> > Hi,
> >
> > > 2.6.25-rc1 takes really long time till it suspends (about 30-40secs,
> > > used to be about 5 secs at all) and it is resuming about few minutes.
> > > While resuming, capslock toggles the capslock led but with few secs
> > > delay.
> > >
> > > 2.6.24-git15 was OK. 2.6.24 is OK.
> > >
> > > I have Lenovo ThinkPad T61.
> >
> > If you have CONFIG_CPU_IDLE set, please try to boot with idle=poll and
> > see if that helps.
>
> Just sent this patch to fix a regression in acpi processor_idle.c on
> another thread. Can you try the patch below and check whether that helps.

Excellent, that patch makes things work for me (including console restore).
Thanks a lot Venki.

Jesse

2008-02-12 02:24:11

by Jesse Barnes

[permalink] [raw]
Subject: Re: 2.6.25-rc1 regression - suspend to ram

On Monday, February 11, 2008 2:58 pm Lukas Hejtmanek wrote:
> Hello,
>
> 2.6.25-rc1 takes really long time till it suspends (about 30-40secs, used
> to be about 5 secs at all) and it is resuming about few minutes. While
> resuming, capslock toggles the capslock led but with few secs delay.
>
> 2.6.24-git15 was OK. 2.6.24 is OK.
>
> I have Lenovo ThinkPad T61.

Oh, you're lucky, I couldn't get my T61 to suspend at all with 2.6.25-rc1...

Len found that it'll work again with idle=poll, but that'll cost you a lot of
battery life...

Oh and make sure you have i915 loaded before you suspend if you want your text
console to come back.

Jesse

2008-02-12 17:15:04

by Lukas Hejtmanek

[permalink] [raw]
Subject: Re: 2.6.25-rc1 regression - suspend to ram

On Mon, Feb 11, 2008 at 03:22:13PM -0800, Venki Pallipadi wrote:
> Just sent this patch to fix a regression in acpi processor_idle.c on another
> thread. Can you try the patch below and check whether that helps.

Yeah, it seems that it fixed suspend troubles.

--
Luk?? Hejtm?nek