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  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Fri, 09 Mar 2012 18:46:28 +0530
From:	"Srivatsa S. Bhat" <srivatsa.bhat@...ux.vnet.ibm.com>
To:	"Rafael J. Wysocki" <rjw@...k.pl>
CC:	lenb@...nel.org, deepthi@...ux.vnet.ibm.com,
	linux-acpi@...r.kernel.org, linux-kernel@...r.kernel.org,
	linux-pm@...r.kernel.org
Subject: Re: [PATCH] PM/Sleep, ACPI: Teach acpi_cpu_soft_notify() to handle
 CPU hotplug in suspend/resume path

On 03/05/2012 04:03 AM, Rafael J. Wysocki wrote:

> On Tuesday, February 28, 2012, Srivatsa S. Bhat wrote:
>> acpi_cpu_soft_notify handles only CPU_ONLINE and CPU_DEAD events. However,
>> during a system-wide suspend/hibernation operation, CPU_ONLINE_FROZEN and
>> CPU_DEAD_FROZEN events are sent as part of CPU hotplug.
>>
>> Those events are really no different from regular CPU hotplug in this context,
>> and hence acpi shouldn't ignore them. So, teach acpi_cpu_soft_notify() to
>> handle those events as well.
>>
>> Signed-off-by: Srivatsa S. Bhat <srivatsa.bhat@...ux.vnet.ibm.com>
>> ---
>>
>> I am no ACPI expert! So requesting a thorough review of this patch..
> 
> Well, as far as I can tell, it _looks_ correct.  That said, I don't think
> anyone will really tell you on the basis of code review alone, this requires
> testing.
> 
> Since Len hasn't been very responsive recently, I can take this patch into
> linux-pm/linux-next and see what the feedback is.
> 


I was running some tests (linux mainline, 3.3-rc6+) and I noticed this:

If I try the processors level using pm_test, I get the following ACPI error
on resume: (But note that even though I see that error message, there is no
noticeable damage. ie., suspend/resume etc works as expected.)

[  118.614331] PM: Syncing filesystems ... done.
[  118.810015] PM: Preparing system for mem sleep
[  119.023881] Freezing user space processes ... (elapsed 0.01 seconds) done.
[  119.036740] Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
[  119.049251] PM: Entering mem sleep
[  119.050864] Suspending console(s) (use no_console_suspend to debug)
[  119.212380] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[  119.292494] sd 0:0:0:0: [sda] Stopping disk
[  119.454865] [drm] nouveau 0000:01:00.0: Disabling display...
[  119.455150] [drm] nouveau 0000:01:00.0: Disabling fbcon...
[  119.455159] [drm] nouveau 0000:01:00.0: Unpinning framebuffer(s)...
[  119.455235] [drm] nouveau 0000:01:00.0: Evicting buffers...
[  119.455308] ACPI handle has no context!
[  119.468621] i915 0000:00:02.0: power state changed by ACPI to D3
[  119.469537] [drm] nouveau 0000:01:00.0: Idling channels...
[  119.469653] [drm] nouveau 0000:01:00.0: Suspending GPU objects...
[  119.668554] e1000e 0000:00:19.0: wake-up capability enabled by ACPI
[  119.692192] [drm] nouveau 0000:01:00.0: And we're gone!
[  119.702686] nouveau 0000:01:00.0: power state changed by ACPI to D3
[  119.702900] PM: suspend of devices complete after 649.631 msecs
[  119.705137] ehci_hcd 0000:00:1d.0: wake-up capability enabled by ACPI
[  119.715566] ehci_hcd 0000:00:1d.0: power state changed by ACPI to D3
[  119.716252] ehci_hcd 0000:00:1a.0: wake-up capability enabled by ACPI
[  119.726557] ehci_hcd 0000:00:1a.0: power state changed by ACPI to D3
[  119.727183] PM: late suspend of devices complete after 24.279 msecs
[  119.727928] ACPI: Preparing to enter system sleep state S3
[  119.773691] PM: Saving platform NVS memory
[  119.786581] Disabling non-boot CPUs ...
[  119.789037] CPU 1 is now offline
[  119.793272] CPU 2 is now offline
[  119.796330] CPU 3 is now offline
[  119.796332] lockdep: fixing up alternatives.
[  119.796914] suspend debug: Waiting for 5 seconds.
[  124.793624] sched: RT throttling activated
[  124.830791] Enabling non-boot CPUs ...
[  124.860880] lockdep: fixing up alternatives.
[  124.860885] Booting Node 0 Processor 1 APIC 0x1
[  124.860887] smpboot cpu 1: start_ip = 98000
[  124.871913] Disabled fast string operations
[  124.871932] Calibrating delay loop (skipped) already calibrated this CPU
[  125.052388] NMI watchdog enabled, takes one hw-pmu counter.
[  125.053207] ACPI Exception: AE_BAD_PARAMETER, Returned by Handler for [EmbeddedControl] (20120111/evregion-501)
[  125.053215] ACPI Error: Method parse/execution failed [\_SB_.PCI0.LPC_.EC__.LPMD] (Node ffff88023286cc58), AE_BAD_PARAMETER (20120111/psparse-536)
[  125.053231] ACPI Error: Method parse/execution failed [\_PR_.CPU0._PPC] (Node ffff8802328900f0), AE_BAD_PARAMETER (20120111/psparse-536)
[  125.053244] ACPI Error: Method parse/execution failed [\_PR_.CPU1._PPC] (Node ffff880232890910), AE_BAD_PARAMETER (20120111/psparse-536)
[  125.053263] ACPI Exception: AE_BAD_PARAMETER, Evaluating _PPC (20120111/processor_perflib-140)
[  125.053292] CPU1 is up
[  125.053465] lockdep: fixing up alternatives.
[  125.053471] Booting Node 0 Processor 2 APIC 0x2
[  125.053473] smpboot cpu 2: start_ip = 98000
[  125.064508] Disabled fast string operations
[  125.064526] Calibrating delay loop (skipped) already calibrated this CPU
[  125.085490] NMI watchdog enabled, takes one hw-pmu counter.
[  125.086393] ACPI Exception: AE_BAD_PARAMETER, Returned by Handler for [EmbeddedControl] (20120111/evregion-501)
[  125.086402] ACPI Error: Method parse/execution failed [\_SB_.PCI0.LPC_.EC__.LPMD] (Node ffff88023286cc58), AE_BAD_PARAMETER (20120111/psparse-536)
[  125.086417] ACPI Error: Method parse/execution failed [\_PR_.CPU0._PPC] (Node ffff8802328900f0), AE_BAD_PARAMETER (20120111/psparse-536)
[  125.086430] ACPI Error: Method parse/execution failed [\_PR_.CPU2._PPC] (Node ffff880232890ac8), AE_BAD_PARAMETER (20120111/psparse-536)
[  125.086448] ACPI Exception: AE_BAD_PARAMETER, Evaluating _PPC (20120111/processor_perflib-140)
[  125.086478] CPU2 is up
[  125.086675] lockdep: fixing up alternatives.
[  125.086681] Booting Node 0 Processor 3 APIC 0x3
[  125.086683] smpboot cpu 3: start_ip = 98000
[  125.097707] Disabled fast string operations
[  125.097726] Calibrating delay loop (skipped) already calibrated this CPU
[  125.118659] NMI watchdog enabled, takes one hw-pmu counter.
[  125.119203] ACPI Exception: AE_BAD_PARAMETER, Returned by Handler for [EmbeddedControl] (20120111/evregion-501)
[  125.119210] ACPI Error: Method parse/execution failed [\_SB_.PCI0.LPC_.EC__.LPMD] (Node ffff88023286cc58), AE_BAD_PARAMETER (20120111/psparse-536)
[  125.119220] ACPI Error: Method parse/execution failed [\_PR_.CPU0._PPC] (Node ffff8802328900f0), AE_BAD_PARAMETER (20120111/psparse-536)
[  125.119228] ACPI Error: Method parse/execution failed [\_PR_.CPU3._PPC] (Node ffff880232890a28), AE_BAD_PARAMETER (20120111/psparse-536)
[  125.119239] ACPI Exception: AE_BAD_PARAMETER, Evaluating _PPC (20120111/processor_perflib-140)
[  125.119260] CPU3 is up
[  125.122640] ACPI: Waking up from system sleep state S3
[  125.209906] i915 0000:00:02.0: power state changed by ACPI to D0
[  125.220687] i915 0000:00:02.0: power state changed by ACPI to D0
[  125.242761] ehci_hcd 0000:00:1a.0: power state changed by ACPI to D0
[  125.253677] ehci_hcd 0000:00:1a.0: power state changed by ACPI to D0
[  125.253758] ehci_hcd 0000:00:1a.0: wake-up capability disabled by ACPI
[  125.253768] ehci_hcd 0000:00:1a.0: power state changed by ACPI to D0
[  125.253774] ehci_hcd 0000:00:1a.0: power state changed by ACPI to D0
[  125.265063] ehci_hcd 0000:00:1d.0: power state changed by ACPI to D0
[  125.275669] ehci_hcd 0000:00:1d.0: power state changed by ACPI to D0
[  125.275750] ehci_hcd 0000:00:1d.0: wake-up capability disabled by ACPI
[  125.275759] ehci_hcd 0000:00:1d.0: power state changed by ACPI to D0
[  125.275765] ehci_hcd 0000:00:1d.0: power state changed by ACPI to D0
[  125.287074] nouveau 0000:01:00.0: power state changed by ACPI to D0
[  125.297658] nouveau 0000:01:00.0: power state changed by ACPI to D0
[  125.308813] sdhci-pci 0000:0d:00.0: MMC controller base frequency changed to 50Mhz.
[  125.309096] PM: early resume of devices complete after 99.415 msecs
[  125.309229] i915 0000:00:02.0: power state changed by ACPI to D0
[  125.309236] i915 0000:00:02.0: power state changed by ACPI to D0
[  125.309243] i915 0000:00:02.0: setting latency timer to 64
[  125.309334] e1000e 0000:00:19.0: wake-up capability disabled by ACPI
[  125.309458] e1000e 0000:00:19.0: irq 43 for MSI/MSI-X
[  125.317762] ehci_hcd 0000:00:1a.0: power state changed by ACPI to D0
[  125.317768] ehci_hcd 0000:00:1a.0: power state changed by ACPI to D0
[  125.317783] ehci_hcd 0000:00:1a.0: setting latency timer to 64
[  125.317893] snd_hda_intel 0000:00:1b.0: irq 44 for MSI/MSI-X
[  125.317981] ehci_hcd 0000:00:1d.0: power state changed by ACPI to D0
[  125.317987] ehci_hcd 0000:00:1d.0: power state changed by ACPI to D0
[  125.318000] ehci_hcd 0000:00:1d.0: setting latency timer to 64
[  125.318052] ahci 0000:00:1f.2: setting latency timer to 64
[  125.318471] [drm] nouveau 0000:01:00.0: We're back, enabling device...
[  125.318477] nouveau 0000:01:00.0: power state changed by ACPI to D0
[  125.318483] nouveau 0000:01:00.0: power state changed by ACPI to D0
[  125.318490] nouveau 0000:01:00.0: power state changed by ACPI to D0
[  125.318496] nouveau 0000:01:00.0: power state changed by ACPI to D0
[  125.318504] [drm] nouveau 0000:01:00.0: POSTing device...
[  125.318506] [drm] nouveau 0000:01:00.0: Parsing VBIOS init table 0 at offset 0x73B5
[  125.338999] [drm] nouveau 0000:01:00.0: 0x7393: i2c wr fail: -5
[  125.339207] [drm] nouveau 0000:01:00.0: 0x73A5: i2c rd fail: -5
[  125.359827] [drm] nouveau 0000:01:00.0: Parsing VBIOS init table 1 at offset 0x7A29
[  125.382725] tpm_tis 00:0a: A TPM error (6) occurred attempting to read a pcr value
[  125.382735] tpm_tis 00:0a: TPM is disabled/deactivated (0x6)
[  125.386896] [drm] nouveau 0000:01:00.0: Parsing VBIOS init table 2 at offset 0x89D9
[  125.386904] [drm] nouveau 0000:01:00.0: Parsing VBIOS init table 3 at offset 0x89DA
[  125.386971] [drm] nouveau 0000:01:00.0: Parsing VBIOS init table 4 at offset 0x8ACB
[  125.386977] [drm] nouveau 0000:01:00.0: Parsing VBIOS init table at offset 0x8B30
[  125.407019] [drm] nouveau 0000:01:00.0: Restoring GPU objects...
[  125.508179] [drm] nouveau 0000:01:00.0: Reinitialising engines...
[  125.508303] [drm] nouveau 0000:01:00.0: Restoring mode...
[  125.640647] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[  125.642601] ata4: SATA link down (SStatus 0 SControl 300)
[  125.643353] ata1.00: ACPI cmd ef/02:00:00:00:00:a0 (SET FEATURES) succeeded
[  125.643362] ata1.00: ACPI cmd f5/00:00:00:00:00:a0 (SECURITY FREEZE LOCK) filtered out
[  125.643369] ata1.00: ACPI cmd ef/10:03:00:00:00:a0 (SET FEATURES) filtered out
[  125.644607] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[  125.646617] ata5: SATA link down (SStatus 0 SControl 300)
[  125.768663] ata2.00: ACPI cmd e3/00:1f:00:00:00:a0 (IDLE) succeeded
[  125.768933] ata2.00: ACPI cmd e3/00:02:00:00:00:a0 (IDLE) succeeded
[  125.768942] ata2.00: ACPI cmd ef/10:03:00:00:00:a0 (SET FEATURES) filtered out
[  125.773238] ata2.00: ACPI cmd e3/00:1f:00:00:00:a0 (IDLE) succeeded
[  125.773432] ata2.00: ACPI cmd e3/00:02:00:00:00:a0 (IDLE) succeeded
[  125.773441] ata2.00: ACPI cmd ef/10:03:00:00:00:a0 (SET FEATURES) filtered out
[  125.775032] ata2.00: configured for UDMA/66
[  128.253678] e1000e: em1 NIC Link is Up 100 Mbps Full Duplex, Flow Control: None
[  128.253686] e1000e 0000:00:19.0: em1: 10/100 speed: disabling TSO
[  128.499934] ata1.00: ACPI cmd ef/02:00:00:00:00:a0 (SET FEATURES) succeeded
[  128.499945] ata1.00: ACPI cmd f5/00:00:00:00:00:a0 (SECURITY FREEZE LOCK) filtered out
[  128.499952] ata1.00: ACPI cmd ef/10:03:00:00:00:a0 (SET FEATURES) filtered out
[  128.501667] ata1.00: configured for UDMA/100
[  128.501962] sd 0:0:0:0: [sda] Starting disk
[  128.503185] Extended CMOS year: 2000
[  128.537762] PM: resume of devices complete after 3229.628 msecs
[  129.025353] PM: Finishing wakeup.
[  129.028514] Restarting tasks ... done.
[  129.046206] video LNXVIDEO:00: Restoring backlight state
[  129.050252] video LNXVIDEO:01: Restoring backlight state


However, if I set none to pm_test and echo mem > /sys/power/state, no such error
message is seen. Same with normal pm-suspend - no error messages.


And when this patch is applied, the ACPI error messages during processors level
test appear twice:


[  780.064004] PM: Syncing filesystems ... done.
[  780.284925] PM: Preparing system for mem sleep
[  780.361141] Freezing user space processes ... (elapsed 0.01 seconds) done.
[  780.373711] Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
[  780.386269] PM: Entering mem sleep
[  780.387856] Suspending console(s) (use no_console_suspend to debug)
[  780.564624] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[  780.564943] sd 0:0:0:0: [sda] Stopping disk
[  780.803771] [drm] nouveau 0000:01:00.0: Disabling display...
[  780.804094] ACPI handle has no context!
[  780.804103] [drm] nouveau 0000:01:00.0: Disabling fbcon...
[  780.804111] [drm] nouveau 0000:01:00.0: Unpinning framebuffer(s)...
[  780.804203] [drm] nouveau 0000:01:00.0: Evicting buffers...
[  780.817629] i915 0000:00:02.0: power state changed by ACPI to D3
[  780.818811] [drm] nouveau 0000:01:00.0: Idling channels...
[  780.818918] [drm] nouveau 0000:01:00.0: Suspending GPU objects...
[  781.017536] e1000e 0000:00:19.0: wake-up capability enabled by ACPI
[  781.038014] [drm] nouveau 0000:01:00.0: And we're gone!
[  781.048804] nouveau 0000:01:00.0: power state changed by ACPI to D3
[  781.049048] PM: suspend of devices complete after 658.847 msecs
[  781.051298] ehci_hcd 0000:00:1d.0: wake-up capability enabled by ACPI
[  781.061543] ehci_hcd 0000:00:1d.0: power state changed by ACPI to D3
[  781.062247] ehci_hcd 0000:00:1a.0: wake-up capability enabled by ACPI
[  781.072540] ehci_hcd 0000:00:1a.0: power state changed by ACPI to D3
[  781.073173] PM: late suspend of devices complete after 24.125 msecs
[  781.073913] ACPI: Preparing to enter system sleep state S3
[  781.119604] PM: Saving platform NVS memory
[  781.135454] Disabling non-boot CPUs ...
[  781.137842] CPU 1 is now offline
[  781.142204] CPU 2 is now offline
[  781.146111] CPU 3 is now offline
[  781.146113] lockdep: fixing up alternatives.
[  781.146602] suspend debug: Waiting for 5 seconds.
[  786.143612] sched: RT throttling activated
[  786.157584] Enabling non-boot CPUs ...
[  786.187784] lockdep: fixing up alternatives.
[  786.187789] Booting Node 0 Processor 1 APIC 0x1
[  786.187791] smpboot cpu 1: start_ip = 98000
[  786.198818] Disabled fast string operations
[  786.198837] Calibrating delay loop (skipped) already calibrated this CPU
[  786.413560] NMI watchdog enabled, takes one hw-pmu counter.
[  786.413968] ACPI Exception: AE_BAD_PARAMETER, Returned by Handler for [EmbeddedControl] (20120111/evregion-501)
[  786.413977] ACPI Error: Method parse/execution failed [\_SB_.PCI0.LPC_.EC__.LPMD] (Node ffff88023286cc58), AE_BAD_PARAMETER (20120111/psparse-536)
[  786.413992] ACPI Error: Method parse/execution failed [\_PR_.CPU0._PPC] (Node ffff8802328900f0), AE_BAD_PARAMETER (20120111/psparse-536)
[  786.414004] ACPI Error: Method parse/execution failed [\_PR_.CPU1._PPC] (Node ffff880232890910), AE_BAD_PARAMETER (20120111/psparse-536)
[  786.414021] ACPI Exception: AE_BAD_PARAMETER, Evaluating _PPC (20120111/processor_perflib-140)
[  786.414511] ACPI Exception: AE_BAD_PARAMETER, Returned by Handler for [EmbeddedControl] (20120111/evregion-501)
[  786.414519] ACPI Error: Method parse/execution failed [\_SB_.PCI0.LPC_.EC__.LPMD] (Node ffff88023286cc58), AE_BAD_PARAMETER (20120111/psparse-536)
[  786.414533] ACPI Error: Method parse/execution failed [\_PR_.CPU0._PPC] (Node ffff8802328900f0), AE_BAD_PARAMETER (20120111/psparse-536)
[  786.414547] ACPI Error: Method parse/execution failed [\_PR_.CPU1._PPC] (Node ffff880232890910), AE_BAD_PARAMETER (20120111/psparse-536)
[  786.414565] ACPI Exception: AE_BAD_PARAMETER, Evaluating _PPC (20120111/processor_perflib-140)
[  786.414601] CPU1 is up
[  786.414784] lockdep: fixing up alternatives.
[  786.414790] Booting Node 0 Processor 2 APIC 0x2
[  786.414793] smpboot cpu 2: start_ip = 98000
[  786.425827] Disabled fast string operations
[  786.425846] Calibrating delay loop (skipped) already calibrated this CPU
[  786.446749] NMI watchdog enabled, takes one hw-pmu counter.
[  786.447159] ACPI Exception: AE_BAD_PARAMETER, Returned by Handler for [EmbeddedControl] (20120111/evregion-501)
[  786.447168] ACPI Error: Method parse/execution failed [\_SB_.PCI0.LPC_.EC__.LPMD] (Node ffff88023286cc58), AE_BAD_PARAMETER (20120111/psparse-536)
[  786.447183] ACPI Error: Method parse/execution failed [\_PR_.CPU0._PPC] (Node ffff8802328900f0), AE_BAD_PARAMETER (20120111/psparse-536)
[  786.447194] ACPI Error: Method parse/execution failed [\_PR_.CPU2._PPC] (Node ffff880232890ac8), AE_BAD_PARAMETER (20120111/psparse-536)
[  786.447212] ACPI Exception: AE_BAD_PARAMETER, Evaluating _PPC (20120111/processor_perflib-140)
[  786.447570] ACPI Exception: AE_BAD_PARAMETER, Returned by Handler for [EmbeddedControl] (20120111/evregion-501)
[  786.447576] ACPI Error: Method parse/execution failed [\_SB_.PCI0.LPC_.EC__.LPMD] (Node ffff88023286cc58), AE_BAD_PARAMETER (20120111/psparse-536)
[  786.447586] ACPI Error: Method parse/execution failed [\_PR_.CPU0._PPC] (Node ffff8802328900f0), AE_BAD_PARAMETER (20120111/psparse-536)
[  786.447594] ACPI Error: Method parse/execution failed [\_PR_.CPU2._PPC] (Node ffff880232890ac8), AE_BAD_PARAMETER (20120111/psparse-536)
[  786.447605] ACPI Exception: AE_BAD_PARAMETER, Evaluating _PPC (20120111/processor_perflib-140)
[  786.447631] CPU2 is up
[  786.447757] lockdep: fixing up alternatives.
[  786.447761] Booting Node 0 Processor 3 APIC 0x3
[  786.447763] smpboot cpu 3: start_ip = 98000
[  786.458790] Disabled fast string operations
[  786.458810] Calibrating delay loop (skipped) already calibrated this CPU
[  786.479664] NMI watchdog enabled, takes one hw-pmu counter.
[  786.479987] ACPI Exception: AE_BAD_PARAMETER, Returned by Handler for [EmbeddedControl] (20120111/evregion-501)
[  786.479993] ACPI Error: Method parse/execution failed [\_SB_.PCI0.LPC_.EC__.LPMD] (Node ffff88023286cc58), AE_BAD_PARAMETER (20120111/psparse-536)
[  786.480003] ACPI Error: Method parse/execution failed [\_PR_.CPU0._PPC] (Node ffff8802328900f0), AE_BAD_PARAMETER (20120111/psparse-536)
[  786.480010] ACPI Error: Method parse/execution failed [\_PR_.CPU3._PPC] (Node ffff880232890a28), AE_BAD_PARAMETER (20120111/psparse-536)
[  786.480021] ACPI Exception: AE_BAD_PARAMETER, Evaluating _PPC (20120111/processor_perflib-140)
[  786.480352] ACPI Exception: AE_BAD_PARAMETER, Returned by Handler for [EmbeddedControl] (20120111/evregion-501)
[  786.480357] ACPI Error: Method parse/execution failed [\_SB_.PCI0.LPC_.EC__.LPMD] (Node ffff88023286cc58), AE_BAD_PARAMETER (20120111/psparse-536)
[  786.480366] ACPI Error: Method parse/execution failed [\_PR_.CPU0._PPC] (Node ffff8802328900f0), AE_BAD_PARAMETER (20120111/psparse-536)
[  786.480374] ACPI Error: Method parse/execution failed [\_PR_.CPU3._PPC] (Node ffff880232890a28), AE_BAD_PARAMETER (20120111/psparse-536)
[  786.480385] ACPI Exception: AE_BAD_PARAMETER, Evaluating _PPC (20120111/processor_perflib-140)
[  786.480410] CPU3 is up
[  786.483786] ACPI: Waking up from system sleep state S3
[  786.569882] i915 0000:00:02.0: power state changed by ACPI to D0
[  786.580658] i915 0000:00:02.0: power state changed by ACPI to D0
[  786.602728] ehci_hcd 0000:00:1a.0: power state changed by ACPI to D0
[  786.613647] ehci_hcd 0000:00:1a.0: power state changed by ACPI to D0
[  786.613729] ehci_hcd 0000:00:1a.0: wake-up capability disabled by ACPI
[  786.613739] ehci_hcd 0000:00:1a.0: power state changed by ACPI to D0
[  786.613745] ehci_hcd 0000:00:1a.0: power state changed by ACPI to D0
[  786.625038] ehci_hcd 0000:00:1d.0: power state changed by ACPI to D0
[  786.635638] ehci_hcd 0000:00:1d.0: power state changed by ACPI to D0
[  786.635720] ehci_hcd 0000:00:1d.0: wake-up capability disabled by ACPI
[  786.635729] ehci_hcd 0000:00:1d.0: power state changed by ACPI to D0
[  786.635734] ehci_hcd 0000:00:1d.0: power state changed by ACPI to D0
[  786.647039] nouveau 0000:01:00.0: power state changed by ACPI to D0
[  786.657628] nouveau 0000:01:00.0: power state changed by ACPI to D0
[  786.668781] sdhci-pci 0000:0d:00.0: MMC controller base frequency changed to 50Mhz.
[  786.669062] PM: early resume of devices complete after 99.409 msecs
[  786.669186] i915 0000:00:02.0: power state changed by ACPI to D0
[  786.669195] i915 0000:00:02.0: power state changed by ACPI to D0
[  786.669202] i915 0000:00:02.0: setting latency timer to 64
[  786.669210] e1000e 0000:00:19.0: wake-up capability disabled by ACPI
[  786.669348] e1000e 0000:00:19.0: irq 43 for MSI/MSI-X
[  786.669774] ehci_hcd 0000:00:1a.0: power state changed by ACPI to D0
[  786.669783] ehci_hcd 0000:00:1a.0: power state changed by ACPI to D0
[  786.669799] ehci_hcd 0000:00:1a.0: setting latency timer to 64
[  786.669924] snd_hda_intel 0000:00:1b.0: irq 44 for MSI/MSI-X
[  786.670024] ehci_hcd 0000:00:1d.0: power state changed by ACPI to D0
[  786.670031] ehci_hcd 0000:00:1d.0: power state changed by ACPI to D0
[  786.670044] ehci_hcd 0000:00:1d.0: setting latency timer to 64
[  786.670100] ahci 0000:00:1f.2: setting latency timer to 64
[  786.670327] [drm] nouveau 0000:01:00.0: We're back, enabling device...
[  786.670333] nouveau 0000:01:00.0: power state changed by ACPI to D0
[  786.670340] nouveau 0000:01:00.0: power state changed by ACPI to D0
[  786.670348] nouveau 0000:01:00.0: power state changed by ACPI to D0
[  786.670355] nouveau 0000:01:00.0: power state changed by ACPI to D0
[  786.670363] [drm] nouveau 0000:01:00.0: POSTing device...
[  786.670366] [drm] nouveau 0000:01:00.0: Parsing VBIOS init table 0 at offset 0x73B5
[  786.690739] [drm] nouveau 0000:01:00.0: 0x7393: i2c wr fail: -5
[  786.690892] [drm] nouveau 0000:01:00.0: 0x73A5: i2c rd fail: -5
[  786.711427] [drm] nouveau 0000:01:00.0: Parsing VBIOS init table 1 at offset 0x7A29
[  786.717630] tpm_tis 00:0a: A TPM error (6) occurred attempting to read a pcr value
[  786.717633] tpm_tis 00:0a: TPM is disabled/deactivated (0x6)
[  786.718481] [drm] nouveau 0000:01:00.0: Parsing VBIOS init table 2 at offset 0x89D9
[  786.718483] [drm] nouveau 0000:01:00.0: Parsing VBIOS init table 3 at offset 0x89DA
[  786.718538] [drm] nouveau 0000:01:00.0: Parsing VBIOS init table 4 at offset 0x8ACB
[  786.718539] [drm] nouveau 0000:01:00.0: Parsing VBIOS init table at offset 0x8B30
[  786.738553] [drm] nouveau 0000:01:00.0: Restoring GPU objects...
[  786.773642] [drm] nouveau 0000:01:00.0: Reinitialising engines...
[  786.773786] [drm] nouveau 0000:01:00.0: Restoring mode...
[  786.985584] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[  786.987582] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[  786.988338] ata1.00: ACPI cmd ef/02:00:00:00:00:a0 (SET FEATURES) succeeded
[  786.988348] ata1.00: ACPI cmd f5/00:00:00:00:00:a0 (SECURITY FREEZE LOCK) filtered out
[  786.988355] ata1.00: ACPI cmd ef/10:03:00:00:00:a0 (SET FEATURES) filtered out
[  786.989589] ata5: SATA link down (SStatus 0 SControl 300)
[  786.991596] ata4: SATA link down (SStatus 0 SControl 300)
[  787.111651] ata2.00: ACPI cmd e3/00:1f:00:00:00:a0 (IDLE) succeeded
[  787.111857] ata2.00: ACPI cmd e3/00:02:00:00:00:a0 (IDLE) succeeded
[  787.111865] ata2.00: ACPI cmd ef/10:03:00:00:00:a0 (SET FEATURES) filtered out
[  787.116309] ata2.00: ACPI cmd e3/00:1f:00:00:00:a0 (IDLE) succeeded
[  787.116554] ata2.00: ACPI cmd e3/00:02:00:00:00:a0 (IDLE) succeeded
[  787.116561] ata2.00: ACPI cmd ef/10:03:00:00:00:a0 (SET FEATURES) filtered out
[  787.118059] ata2.00: configured for UDMA/66
[  789.825152] ata1.00: ACPI cmd ef/02:00:00:00:00:a0 (SET FEATURES) succeeded
[  789.825165] ata1.00: ACPI cmd f5/00:00:00:00:00:a0 (SECURITY FREEZE LOCK) filtered out
[  789.825174] ata1.00: ACPI cmd ef/10:03:00:00:00:a0 (SET FEATURES) filtered out
[  789.826998] ata1.00: configured for UDMA/100
[  789.827186] sd 0:0:0:0: [sda] Starting disk
[  789.856776] PM: resume of devices complete after 3188.667 msecs
[  790.001194] PM: Finishing wakeup.
[  790.001196] Restarting tasks ... done.
[  790.010857] video LNXVIDEO:00: Restoring backlight state
[  790.016656] video LNXVIDEO:01: Restoring backlight state
[  790.511508] e1000e: em1 NIC Link is Up 100 Mbps Full Duplex, Flow Control: None
[  790.511525] e1000e 0000:00:19.0: em1: 10/100 speed: disabling TSO> 


>From what I can tell, these error messages are coming from this piece of
code:

drivers/acpi/processor_perflib.c:
static int acpi_processor_get_platform_limit(struct acpi_processor *pr)
{
	...

        /*  
         * _PPC indicates the maximum state currently supported by the platform
         * (e.g. 0 = states 0..n; 1 = states 1..n; etc.
         */
        status = acpi_evaluate_integer(pr->handle, "_PPC", NULL, &ppc);

        if (status != AE_NOT_FOUND)
                acpi_processor_ppc_status |= PPC_IN_USE;

        if (ACPI_FAILURE(status) && status != AE_NOT_FOUND) {
                ACPI_EXCEPTION((AE_INFO, status, "Evaluating _PPC"));
                return -ENODEV;
        }  
 
	...
}

So I guess, with my patch this is being invoked twice, but I am not quite sure
how..
I mean, one path is acpi_cpu_soft_notify -> acpi_processor_ppc_has_changed()
-> acpi_processor_get_platform_limit().

I don't know what's the other path. I guess it is acpi_processor_notify() -> ...

Of course, the more important problem here is to find out what is going wrong
with processors level pm_test :-)

> 
>>  drivers/acpi/processor_driver.c |    6 ++++++
>>  1 files changed, 6 insertions(+), 0 deletions(-)
>>
>> diff --git a/drivers/acpi/processor_driver.c b/drivers/acpi/processor_driver.c
>> index 2801b41..3a87b13 100644
>> --- a/drivers/acpi/processor_driver.c
>> +++ b/drivers/acpi/processor_driver.c
>> @@ -422,6 +422,12 @@ static int acpi_cpu_soft_notify(struct notifier_block *nfb,
>>  	unsigned int cpu = (unsigned long)hcpu;
>>  	struct acpi_processor *pr = per_cpu(processors, cpu);
>>  
>> +	/*
>> +	 * Regular CPU hotplug, and CPU hotplug as part of the suspend/resume
>> +	 * sequence are really no different for us. So, let us handle both.
>> +	 */
>> +	action &= ~CPU_TASKS_FROZEN;
>> +
>>  	if (action == CPU_ONLINE && pr) {
>>  		/* CPU got physically hotplugged and onlined the first time:
>>  		 * Initialize missing things
>>

 
Regards,
Srivatsa S. Bhat

--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ