Re: [Bisected] 3.7-rc1 can't resume (still present in 3.9)

Rafael J. Wysocki
2013-05-02T00:37:29Z

On Wednesday, May 01, 2013 11:55:10 AM H. Peter Anvin wrote:
> On 05/01/2013 11:51 AM, Jonas Heinrich wrote:
> > Well, you could give me instructions on how to debug this (I'll do
> > everything ;)) or I could ship you the Thinkpad T43. I guess this
> > would worth the effort since this bug is somehow critical.
> >
> > Best regards, Jonas
>
> I'll put together a debug patch unless I can trick Rafael into doing
> it first...

I'm afraid that code has changed quite a bit since I looked at it last time.
[Jarkko Sakkinen seems to have worked on it lately, CCed.]

Jonas, I wonder what happens if you drop the first hunk of the patch (it just
uses a different register, which shouldn't matter)? Does it still help then?

If so, there are still a few things you can do to it, e.g:
(1) drop the

- btl $WAKEUP_BEHAVIOR_RESTORE_CR4, %edi
- jnc 1f

lines,
(2) drop the

- btl $WAKEUP_BEHAVIOR_RESTORE_EFER, %edi
- jnc 1f

lines,
(3) drop the

+ jecxz 1f

line,
(4) drop the

+ movl %eax, %ecx
+ orl %edx, %ecx
+ jz 1f

lines and see what the minimal patch needed for things to work again is.

Thanks,
Rafael

--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.