Sleep/Lenovo SL410 fails again after csup & clang

Matt sendtomatt at gmail.com
Wed Oct 20 20:58:11 UTC 2010


  On 10/20/10 10:52, Matt wrote:
>  On 10/20/10 10:37, Matt wrote:
>>
>>> On Wed, 20 Oct 2010, Jung-uk Kim wrote:
>>>
>>>> On Tuesday 19 October 2010 09:15 pm, Matt wrote:
>>>>>   My experience with a sleeping freebsd laptop has been shortlived!
>>>>>
>>>>> Today I rebuilt world using clang & this morning's csup current.
>>>>> Clang build went just swimmingly.
>>>>>
>>>>> Unthinkingly, I closed my laptop lid and put it in my case.
>>>>> When I got to my house, it was roasting with fans spinning and
>>>>> sleep light flashing. No damage, thankfully.
>>>>>
>>>>> Low and behold, hw.pci.do_power_resume=0 no longer lets my laptop
>>>>> sleep!
>>>>>
>>>>> I had recently fiddled with powerd, but problem persisted after
>>>>> reverting to previous configuration of associated sysctls etc.
>>>>>
>>>>> Interestingly, sleep bounce now fails with a hard freeze, which it
>>>>> never has in the past.
>>>>>
>>>>> Verbose output shows the wifi then re0 network interfaces going
>>>>> from D0->D3 as last living output.
>>>>>
>>>>> Please note problem persists regardless of user, X running,
>>>>> sleep_delay sysctl, do_power_resume, do_power_nodriver, powerd
>>>>> running/not running.
>>>>>
>>>>> Without sleep bounce, problem is characterized by flashing sleep
>>>>> light and spinning fans (CPU temperature is high).
>>>>>
>>>>> No devices added or removed, was sleeping this morning before
>>>>> buildworld. Is it worth rebuilding with gcc? Or a content change
>>>>> and not a compiler issue? Any major pci changes lately maybe?
>>>>
>>>> Can you please update source and try again?  If it does not work,
>>>> please set a new tunable "hw.pci.do_power_suspend=0" and tell me
>>>> whether it helps or not.  FYI, hw.pci.do_power_resume does not apply
>>>> to suspend any more.  So, if you want to restore the previous
>>>> behaviour, you need both "hw.pci.do_power_resume=0" and
>>>> "hw.pci.do_power_suspend=0".  However, my hunch tells me that you
>>>> only need the latter.
>>>>
>>>> Also, if possible, I'd like to see 'devinfo -rv', 'pciconf -clv',
>>>> 'acpidump -dt', and 'lspci -vvv' output.  Note lspci is available via
>>>> ports/sysutils/pciutils.
>>>>
>>>> Thanks,
>>>>
>>>> Jung-uk Kim
>>>> _______________________________________________
>>>> freebsd-current at freebsd.org mailing list
>>>> http://lists.freebsd.org/mailman/listinfo/freebsd-current
>>>> To unsubscribe, send any mail to 
>>>> "freebsd-current-unsubscribe at freebsd.org"
>>>>
>>>
>> A >> dump file of the above commands in order:
>> http://pastebin.com/KhFn9xaK
>>
>> I'm grabbing a new csup now, glad it wasn't clang at least. When I 
>> did Mac development, LLVM binaries were generally significantly 
>> faster for some things.
>>
>> Interesting, I got some phone related topic added into your post, and 
>> no direct mail, so hopefully you can get your hands on the pastebin 
>> link.
>>
>> Thank you, I will let you know if the new tunable does the trick.
>>
>> Matt
>
> Build fails. I will also try gcc, but it seems like it doesn't know 
> about do_power_suspend yet!
>
>
> cd /usr/obj/usr/src/sys/ONOSENDAI; MAKEOBJDIRPREFIX=/usr/obj  
> MACHINE_ARCH=amd64  MACHINE=amd64  CPUTYPE=nocona  
> GROFF_BIN_PATH=/usr/obj/usr/src/tmp/legacy/usr/bin  
> GROFF_FONT_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/groff_font  
> GROFF_TMAC_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/tmac  
> _SHLIBDIRPREFIX=/usr/obj/usr/src/tmp  VERSION="FreeBSD 9.0-CURRENT 
> amd64 900023"  INSTALL="sh /usr/src/tools/install.sh"  
> PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/sbin:/bin:/usr/sbin:/usr/bin 
> make KERNEL=kernel all -DNO_MODULES_OBJ
> clang -c -O2 -fno-strict-aliasing -pipe -march=nocona -std=c99  -Wall 
> -Wredundant-decls -Wnested-externs -Wstrict-prototypes  
> -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef 
> -Wno-pointer-sign -fformat-extensions -nostdinc  -I. -I/usr/src/sys 
> -I/usr/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS 
> -include opt_global.h  -fno-omit-frame-pointer -mcmodel=kernel 
> -mno-red-zone  -mfpmath=387 -mno-sse -mno-sse2 -mno-sse3 -mno-mmx 
> -mno-3dnow  -msoft-float -fno-asynchronous-unwind-tables 
> -ffreestanding -fstack-protector   /usr/src/sys/dev/pci/pci_pci.c
> clang: warning: argument unused during compilation: '-mfpmath=387'
> /usr/src/sys/dev/pci/pci_pci.c:450:20: error: use of undeclared 
> identifier
>       'pci_do_power_suspend'; did you mean 'pci_do_power_resume'?
>         if (error == 0 && pci_do_power_suspend) {
>                           ^~~~~~~~~~~~~~~~~~~~
>                           pci_do_power_resume
> In file included from /usr/src/sys/dev/pci/pci_pci.c:51:
> /usr/src/sys/dev/pci/pci_private.h:41:13: note: 'pci_do_power_resume' 
> declared
>       here
> extern int      pci_do_power_resume;
>                 ^
> 1 error generated.
> *** Error code 1
>
> Stop in /usr/obj/usr/src/sys/ONOSENDAI.
> *** Error code 1
>
> Stop in /usr/src.
> *** Error code 1
>
> Stop in /usr/src.
>
> Matt
Commented out code at as though "pci_do_power_suspend" = false,
still does not sleep.

Tried setting do_power_resume to 1 and 0, same result.

debug.acpi.suspend_bounce returns to VT and freezes, nothing logged (was 
not verbose booted at the time however).



More information about the freebsd-current mailing list