Re: Sleep/Lenovo SL410 fails again after csup & clang

From: Jung-uk Kim <jkim_at_FreeBSD.org>
Date: Wed, 20 Oct 2010 14:46:20 -0400
On Wednesday 20 October 2010 01:52 pm, 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/lega
>cy/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tm
>p/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/gam
>es:/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.

It seems your sys/dev/pci/pci_private.h is out of sync somehow.  It 
was updated with pci_pci.c in the same commit.  Please try csup 
again.

Jung-uk Kim
Received on Wed Oct 20 2010 - 16:46:41 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:08 UTC