<br><br><div class="gmail_quote">On Wed, Jul 7, 2010 at 7:50 AM, M. Warner Losh <span dir="ltr">&lt;<a href="mailto:imp@bsdimp.com">imp@bsdimp.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
In message: &lt;<a href="mailto:4C348239.7030704@pcbsd.org">4C348239.7030704@pcbsd.org</a>&gt;<br>
            Kris Moore &lt;<a href="mailto:kris@pcbsd.org">kris@pcbsd.org</a>&gt; writes:<br>
<div><div></div><div class="h5">: On 07/07/2010 09:24, Mike Bybee wrote:<br>
: &gt;<br>
: &gt;<br>
: &gt;<br>
: &gt; I would love to step up and help on the suspend resume and power<br>
: &gt; management if you can point me in the right direction.<br>
: &gt;<br>
: &gt; --<br>
: &gt; Thanks,<br>
: &gt; Mike Bybee<br>
: &gt;<br>
:<br>
: Sure!<br>
:<br>
: The first thing to do is get yourself subscribed to the freebsd-acpi<br>
: list:<br>
:<br>
: <a href="http://lists.freebsd.org/mailman/listinfo/freebsd-acpi" target="_blank">http://lists.freebsd.org/mailman/listinfo/freebsd-acpi</a><br>
:<br>
: That&#39;s where you can discuss all things acpi/power management.<br>
:<br>
: Next I would e-mail Alexander Motin (<a href="mailto:mav@freebsd.org">mav@freebsd.org</a>). He&#39;s been doing<br>
: some work for us, and knows a lot about the acpi subsystem, and can<br>
: probably point you in the right direction. He also wrote this nice<br>
: guide on tuning power consumption which may help you:<br>
:<br>
: <a href="http://wiki.freebsd.org/TuningPowerConsumption" target="_blank">http://wiki.freebsd.org/TuningPowerConsumption</a><br>
<br>
</div></div>The biggest problem with suspend/resume today is that most laptops are<br>
multicore, but the suspend/resume code doesn&#39;t know about that.  We<br>
need to go in and stop all the other CPUs before starting to traverse<br>
the device tree suspending the devices.  Once we have *that* in place,<br>
it becomes a battle of attrition to fix and drivers that might be<br>
broken.<br>
<br>
The suspend/resume code can be found in src/sys/dev/acpica/acpi.c<br>
acpi_EnterSleepState.  While there&#39;s some SMP code to pin the thread<br>
to CPU 0, there&#39;s no code to shut off all the other CPUs&#39; scheduling.<br>
<br>
The other big ticket item here is the S3 state.  S3BIOS has been<br>
supported for years.  However, support for the S3 state without BIOS<br>
intervention has languished.  Writing the dump files is relatively<br>
straight forward, once you&#39;ve quiesced the rest of the system, but the<br>
boot path requires boot loader support, which we don&#39;t have.<br>
<font color="#888888"><br>
Warner<br>
</font><div><div></div><div class="h5">_______________________________________________<br>
Testing mailing list<br>
<a href="mailto:Testing@lists.pcbsd.org">Testing@lists.pcbsd.org</a><br>
<a href="http://lists.pcbsd.org/mailman/listinfo/testing" target="_blank">http://lists.pcbsd.org/mailman/listinfo/testing</a><br>
<br>
</div></div></blockquote></div><br><br><div>Is that why it&#39;s fairly solid on the Linux 2.6 kernel with Grub 2 (like Ubuntu 10.4, as an example), but so unstable on FreeBSD?</div><div><br></div><div>Is there any BSD that *has* a working suspend/resume that we can perhaps use as a code model?<br clear="all">
<br>-- <br>Thanks,<br>Mike Bybee<br>
</div>