I was browsing thru the kernel source, noticed a couple of things...<br>
In the past i have seen the following cause delay in suspend and result in other odd behaviours:<br>
<br><span style="font-weight: bold;">kernel/power/main.c:</span><br>
<div class="pre"> </div>

<div class="pre"><a id="l70" href="http://dev.laptop.org/git.do?p=olpc-2.6;a=blob;h=a064dfd8877a471db0abbe13fc2017c7f6d39dd7;hb=bd7c99a84b86079040842651f5415f2f7c18b6e3;f=kernel/power/main.c#l70" class="linenr">  70</a>         pm_prepare_console();
</div>

<div class="pre"><a id="l71" href="http://dev.laptop.org/git.do?p=olpc-2.6;a=blob;h=a064dfd8877a471db0abbe13fc2017c7f6d39dd7;hb=bd7c99a84b86079040842651f5415f2f7c18b6e3;f=kernel/power/main.c#l71" class="linenr">  71</a> 
</div>

<div class="pre"><a id="l72" href="http://dev.laptop.org/git.do?p=olpc-2.6;a=blob;h=a064dfd8877a471db0abbe13fc2017c7f6d39dd7;hb=bd7c99a84b86079040842651f5415f2f7c18b6e3;f=kernel/power/main.c#l72" class="linenr">  72</a>         if (freeze_processes()) {
</div>

<div class="pre"><a id="l73" href="http://dev.laptop.org/git.do?p=olpc-2.6;a=blob;h=a064dfd8877a471db0abbe13fc2017c7f6d39dd7;hb=bd7c99a84b86079040842651f5415f2f7c18b6e3;f=kernel/power/main.c#l73" class="linenr">  73</a>                 error = -EAGAIN;
</div>

<div class="pre"><a id="l74" href="http://dev.laptop.org/git.do?p=olpc-2.6;a=blob;h=a064dfd8877a471db0abbe13fc2017c7f6d39dd7;hb=bd7c99a84b86079040842651f5415f2f7c18b6e3;f=kernel/power/main.c#l74" class="linenr">  74</a>                 goto Thaw;
</div>

<div class="pre"><a id="l75" href="http://dev.laptop.org/git.do?p=olpc-2.6;a=blob;h=a064dfd8877a471db0abbe13fc2017c7f6d39dd7;hb=bd7c99a84b86079040842651f5415f2f7c18b6e3;f=kernel/power/main.c#l75" class="linenr">  75</a>         }
</div>
<br><br>I could never figure the usefulness of the above two functions in a diskless embedded system environment. On the contrary, it has resulted in problems such as:<br>a. delaying suspend... esp pm_prepare_console in trying to switch to a virtual console during suspend.
<br>b. freeze_processes is tricky too... it sets the PF_FREEZE bit for a process and schedules the process thinking that the active process will notice that bit and clean up stuff and prepare for suspend..<br>All is well untill you have a process that is set to uninterruptible sleep or those process that are waiting on a semaphore... unless all these process handle signals that bring them out of wait.. odd things could result.
<br>c. i have seen my framebuffers get corrupted with zeros <br><br>The solution, I have just commented these out along with counterparts to restore console upon wakeup.. lot of these make sense on disk based system not sure if we need these on OLPC
<br><br>I havnt setup my build environment yet, but hope to try this as soon as I get to it.. I was wondering if anyone else has experienced the same? Any thoughts?<br><br><br>Gopi<br><br><br><br><br><div><span class="gmail_quote">
On 3/29/07, <b class="gmail_sendername">Hal Murray</b> <<a href="mailto:hmurray@megapathdsl.net">hmurray@megapathdsl.net</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
>> I just ran across this link:<br>>> <a href="http://wiki.laptop.org/go/Hardware_Power_Domains">http://wiki.laptop.org/go/Hardware_Power_Domains</a><br><br>> If it is hard to find, where would you suggest we add links to it?
<br><br>I'd expect a Power Panagement page with lots of info.  This is an important<br>area.  Right?<br>There is one at<br>  <a href="http://wiki.laptop.org/go/Power_Management">http://wiki.laptop.org/go/Power_Management
</a><br>but it's a bit thin and says "work in process".<br><br>So the real question is how to find that Power Managment page.<br><br>There is a link to the Hardware page on the left side of the main Wiki page, but once you get there you have to read the specs area to find the Power Management line.
<br><br>So my vote would be to extend the links at the top of the hardware page so Power Management is easier to find.<br><br>An alternative would be a system overview page to collect the ideas that cross the hardware/software line.  (with links to the appropriate hardware and software sections)
<br><br><br><br><br><br>--<br>These are my opinions, not necessarily my employer's.  I hate spam.<br><br><br><br>_______________________________________________<br>Devel mailing list<br><a href="mailto:Devel@laptop.org">
Devel@laptop.org</a><br><a href="http://mailman.laptop.org/mailman/listinfo/devel">http://mailman.laptop.org/mailman/listinfo/devel</a><br></blockquote></div><br>