[PC-BSD Testing] PC-BSD 8.1 RC1 - thoughts and ideas

M. Warner Losh imp at bsdimp.com
Wed Jul 7 07:50:34 PDT 2010


In message: <4C348239.7030704 at pcbsd.org>
            Kris Moore <kris at pcbsd.org> writes:
: On 07/07/2010 09:24, Mike Bybee wrote:
: >
: >
: >
: > I would love to step up and help on the suspend resume and power
: > management if you can point me in the right direction.
: >
: > -- 
: > Thanks,
: > Mike Bybee
: >
: 
: Sure!
: 
: The first thing to do is get yourself subscribed to the freebsd-acpi
: list:
: 
: http://lists.freebsd.org/mailman/listinfo/freebsd-acpi
: 
: That's where you can discuss all things acpi/power management.
: 
: Next I would e-mail Alexander Motin (mav at freebsd.org). He's been doing
: some work for us, and knows a lot about the acpi subsystem, and can
: probably point you in the right direction. He also wrote this nice
: guide on tuning power consumption which may help you:
: 
: http://wiki.freebsd.org/TuningPowerConsumption

The biggest problem with suspend/resume today is that most laptops are
multicore, but the suspend/resume code doesn't know about that.  We
need to go in and stop all the other CPUs before starting to traverse
the device tree suspending the devices.  Once we have *that* in place,
it becomes a battle of attrition to fix and drivers that might be
broken.

The suspend/resume code can be found in src/sys/dev/acpica/acpi.c
acpi_EnterSleepState.  While there's some SMP code to pin the thread
to CPU 0, there's no code to shut off all the other CPUs' scheduling.

The other big ticket item here is the S3 state.  S3BIOS has been
supported for years.  However, support for the S3 state without BIOS
intervention has languished.  Writing the dump files is relatively
straight forward, once you've quiesced the rest of the system, but the
boot path requires boot loader support, which we don't have. 

Warner


More information about the Testing mailing list