lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 20 Sep 2007 23:54:41 +0200
From:	"Rafael J. Wysocki" <rjw@...k.pl>
To:	Linus Torvalds <torvalds@...ux-foundation.org>
Cc:	Thomas Gleixner <tglx@...utronix.de>,
	Andrew Morton <akpm@...ux-foundation.org>,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
	Jaroslav Kysela <perex@...e.cz>, Takashi Iwai <tiwai@...e.de>,
	linux-usb-devel@...ts.sourceforge.net,
	Venkatesh Pallipadi <venkatesh.pallipadi@...el.com>,
	Ingo Molnar <mingo@...e.hu>, miklos@...redi.hu,
	Len Brown <len.brown@...el.com>
Subject: Re: 2.6.23-rc6-mm1: failure to boot on HP nx6325, no sound when booted, USB-related WARNING

On Thursday, 20 September 2007 23:35, Linus Torvalds wrote:
> 
> On Thu, 20 Sep 2007, Thomas Gleixner wrote:
> > 
> > In meantime I figured out what's happening. The ordering in
> > hibernate_snapshot() is wrong. It does:

Actually, this is incorrect.  Please read my reply to Thomas, just sent. 

> Hmm. This is close to the ordering we have in STR too.
> 
> I have some dim memory of there being some ACPI reason why it had to be 
> done that way.

Yes.  We're executing _INI from the CPU initialization code and that shouldn't
be done after _WAK, which is called from platform_finish().

> In fact, this was done in commit e3c7db621bed4afb8e231cb005057f2feb5db557, 
> long ago, by Rafael:
> 
>     As indicated in a recent thread on Linux-PM, it's necessary to call
>     pm_ops->finish() before devce_resume(), but enable_nonboot_cpus() has to be
>     called before pm_ops->finish() (cf.
>     http://lists.osdl.org/pipermail/linux-pm/2006-November/004164.html).  For
>     consistency, it seems reasonable to call disable_nonboot_cpus() after
>     device_suspend().
> 
>     This way the suspend code will remain symmetrical with respect to the resume
>     code and it may allow us to speed up things in the future by suspending and
>     resuming devices and/or saving the suspend image in many threads.
> 
>     The following series of patches reorders the suspend and resume code so that
>     nonboot CPUs are disabled after devices have been suspended and enabled before
>     the devices are resumed.  It also causes pm_ops->finish() to be called after
>     enable_nonboot_cpus() wherever necessary.
> 
> Hmm?
> 
> It's entirely possible that that commit was simply just buggy, and we 
> should indeed move the CPU down/up to be early/late - we've fixed other 
> ordering issues since that commit went in. But this whole area is very 
> murky.
> 
> (Btw, the above commit message points to just my response with a testing 
> patch to the real email: the actual explanation of the INSANE ordering is 
> from Len Brown in
> 
> 	https://lists.linux-foundation.org/pipermail/linux-pm/2006-November/004161.html
> 
> and there Len claims that we *must* wake up CPU's early).
> 
> I personally think that the whole ACPI ordering requirements are just 
> insane, but the point of this email is to point these different 
> requirements out, and hopefully we can get something that works for 
> everybody.

Sure.

Greetings,
Rafael
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists