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

From: Jung-uk Kim <jkim_at_FreeBSD.org>
Date: Wed, 20 Oct 2010 19:15:03 -0400
On Wednesday 20 October 2010 04:57 pm, Matt wrote:
>   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/le
> >gacy/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/sr
> >c/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/u
> >sr/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).

I am quite surprised it didn't work for you.  Can you please csup 
again and make sure you have the latest source?  Have you ever set 
debug.acpi.do_powerstate tunable before?

Jung-uk Kim
Received on Wed Oct 20 2010 - 21:15:15 UTC

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