<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/kernel/power, branch v2.6.32.32</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/kernel/power?h=v2.6.32.32</id>
<link rel='self' href='https://git.amat.us/linux/atom/kernel/power?h=v2.6.32.32'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2011-03-02T14:46:50Z</updated>
<entry>
<title>PM / Hibernate: Return error code when alloc_image_page() fails</title>
<updated>2011-03-02T14:46:50Z</updated>
<author>
<name>Stanislaw Gruszka</name>
<email>stf_xl@pop3.wp.pl</email>
</author>
<published>2011-02-12T20:06:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=fc1ff859e9e28379ae4cae181ff00469d7e79b73'/>
<id>urn:sha1:fc1ff859e9e28379ae4cae181ff00469d7e79b73</id>
<content type='text'>
commit 2e725a065b0153f0c449318da1923a120477633d upstream.

Currently we return 0 in swsusp_alloc() when alloc_image_page() fails.
Fix that.  Also remove unneeded "error" variable since the only
useful value of error is -ENOMEM.

[rjw: Fixed up the changelog and changed subject.]

Signed-off-by: Stanislaw Gruszka &lt;stf_xl@wp.pl&gt;
Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>PM / Hibernate: Fix PM_POST_* notification with user-space suspend</title>
<updated>2011-01-07T22:43:06Z</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2010-12-09T23:16:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=012f9fdfd2965f573171f848d1aa46531cab7062'/>
<id>urn:sha1:012f9fdfd2965f573171f848d1aa46531cab7062</id>
<content type='text'>
commit 1497dd1d29c6a53fcd3c80f7ac8d0e0239e7389e upstream.

The user-space hibernation sends a wrong notification after the image
restoration because of thinko for the file flag check.  RDONLY
corresponds to hibernation and WRONLY to restoration, confusingly.

Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>Freezer: Fix buggy resume test for tasks frozen with cgroup freezer</title>
<updated>2010-04-26T14:41:17Z</updated>
<author>
<name>Matt Helsley</name>
<email>matthltc@us.ibm.com</email>
</author>
<published>2010-03-26T22:51:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a0223a1cdb8c041d5700d28ab4507c8985aae380'/>
<id>urn:sha1:a0223a1cdb8c041d5700d28ab4507c8985aae380</id>
<content type='text'>
commit 5a7aadfe2fcb0f69e2acc1fbefe22a096e792fc9 upstream.

When the cgroup freezer is used to freeze tasks we do not want to thaw
those tasks during resume. Currently we test the cgroup freezer
state of the resuming tasks to see if the cgroup is FROZEN.  If so
then we don't thaw the task. However, the FREEZING state also indicates
that the task should remain frozen.

This also avoids a problem pointed out by Oren Ladaan: the freezer state
transition from FREEZING to FROZEN is updated lazily when userspace reads
or writes the freezer.state file in the cgroup filesystem. This means that
resume will thaw tasks in cgroups which should be in the FROZEN state if
there is no read/write of the freezer.state file to trigger this
transition before suspend.

NOTE: Another "simple" solution would be to always update the cgroup
freezer state during resume. However it's a bad choice for several reasons:
Updating the cgroup freezer state is somewhat expensive because it requires
walking all the tasks in the cgroup and checking if they are each frozen.
Worse, this could easily make resume run in N^2 time where N is the number
of tasks in the cgroup. Finally, updating the freezer state from this code
path requires trickier locking because of the way locks must be ordered.

Instead of updating the freezer state we rely on the fact that lazy
updates only manage the transition from FREEZING to FROZEN. We know that
a cgroup with the FREEZING state may actually be FROZEN so test for that
state too. This makes sense in the resume path even for partially-frozen
cgroups -- those that really are FREEZING but not FROZEN.

Reported-by: Oren Ladaan &lt;orenl@cs.columbia.edu&gt;
Signed-off-by: Matt Helsley &lt;matthltc@us.ibm.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>PM / Hibernate: Fix preallocating of memory</title>
<updated>2010-03-15T15:49:46Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rjw@sisk.pl</email>
</author>
<published>2010-02-25T21:32:37Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7ec291833eb21e96fc62f58ce14076bf01d14e97'/>
<id>urn:sha1:7ec291833eb21e96fc62f58ce14076bf01d14e97</id>
<content type='text'>
commit a9c9b4429df437982d2fbfab1f4b46b01329e9ed upstream.

The hibernate memory preallocation code allocates memory to push some
user space data out of physical RAM, so that the hibernation image is
not too large.  It allocates more memory than necessary for creating
the image, so it has to release some pages to make room for
allocations made while suspending devices and disabling nonboot CPUs,
or the system will hang due to the lack of free pages to allocate
from.  Unfortunately, the function used for freeing these pages,
free_unnecessary_pages(), contains a bug that prevents it from doing
the job on all systems without highmem.

Fix this problem, which is a regression from the 2.6.30 kernel, by
using the right condition for the termination of the loop in
free_unnecessary_pages().

Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Reported-and-tested-by: Alan Jenkins &lt;sourcejedi.lkml@googlemail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>PM / Hibernate: Add newline to load_image() fail path</title>
<updated>2009-11-03T10:03:09Z</updated>
<author>
<name>Jiri Slaby</name>
<email>jirislaby@gmail.com</email>
</author>
<published>2009-10-28T21:55:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bf9fd67a0328d56eff6022f80d4eb88ba6614119'/>
<id>urn:sha1:bf9fd67a0328d56eff6022f80d4eb88ba6614119</id>
<content type='text'>
Finish a line by \n when load_image fails in the middle of loading.

Signed-off-by: Jiri Slaby &lt;jirislaby@gmail.com&gt;
Acked-by: Pavel Machek &lt;pavel@ucw.cz&gt;
Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
</content>
</entry>
<entry>
<title>PM / Hibernate: Fix error handling in save_image()</title>
<updated>2009-11-03T10:02:43Z</updated>
<author>
<name>Jiri Slaby</name>
<email>jirislaby@gmail.com</email>
</author>
<published>2009-10-28T21:55:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4ff277f9e42fa16314045bd124a61519286094c0'/>
<id>urn:sha1:4ff277f9e42fa16314045bd124a61519286094c0</id>
<content type='text'>
There are too many retval variables in save_image(). Thus error return
value from snapshot_read_next() may be ignored and only part of the
snapshot (successfully) written.

Remove 'error' variable, invert the condition in the do-while loop
and convert the loop to use only 'ret' variable.

Switch the rest of the function to consider only 'ret'.

Also make sure we end printed line by \n if an error occurs.

Signed-off-by: Jiri Slaby &lt;jirislaby@gmail.com&gt;
Acked-by: Pavel Machek &lt;pavel@ucw.cz&gt;
Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
</content>
</entry>
<entry>
<title>PM / Hibernate: Fix blkdev refleaks</title>
<updated>2009-11-03T10:01:46Z</updated>
<author>
<name>Jiri Slaby</name>
<email>jirislaby@gmail.com</email>
</author>
<published>2009-10-07T20:37:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=76b57e613f6006ff525a17876c89326d127cadc9'/>
<id>urn:sha1:76b57e613f6006ff525a17876c89326d127cadc9</id>
<content type='text'>
While cruising through the swsusp code I found few blkdev reference
leaks of resume_bdev.

swsusp_read: remove blkdev_put altogether. Some fail paths do
             not do that.
swsusp_check: make sure we always put a reference on fail paths
software_resume: all fail paths between swsusp_check and swsusp_read
                 omit swsusp_close. Add it in those cases. And since
                 swsusp_read doesn't drop the reference anymore, do
                 it here unconditionally.

[rjw: Fixed a small coding style issue.]

Signed-off-by: Jiri Slaby &lt;jirislaby@gmail.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
</content>
</entry>
<entry>
<title>PM: Make warning in suspend_test_finish() less likely to happen</title>
<updated>2009-10-21T23:23:45Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rjw@sisk.pl</email>
</author>
<published>2009-10-20T04:45:02Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=04bf7539c08d64184736cdc5e4ad617eda77eb0f'/>
<id>urn:sha1:04bf7539c08d64184736cdc5e4ad617eda77eb0f</id>
<content type='text'>
Increase TEST_SUSPEND_SECONDS to 10 so the warning in
suspend_test_finish() doesn't annoy the users of slower systems so much.

Also, make the warning print the suspend-resume cycle time, so that we
know why the warning actually triggered.

Patch prepared during the hacking session at the Kernel Summit in Tokyo.

Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>headers: utsname.h redux</title>
<updated>2009-09-24T01:13:10Z</updated>
<author>
<name>Alexey Dobriyan</name>
<email>adobriyan@gmail.com</email>
</author>
<published>2009-09-24T00:22:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2bcd57ab61e7cabed626226a3771617981c11ce1'/>
<id>urn:sha1:2bcd57ab61e7cabed626226a3771617981c11ce1</id>
<content type='text'>
* remove asm/atomic.h inclusion from linux/utsname.h --
   not needed after kref conversion
 * remove linux/utsname.h inclusion from files which do not need it

NOTE: it looks like fs/binfmt_elf.c do not need utsname.h, however
due to some personality stuff it _is_ needed -- cowardly leave ELF-related
headers and files alone.

Signed-off-by: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>oom: move oom_killer_enable()/oom_killer_disable to where they belong</title>
<updated>2009-09-22T14:17:38Z</updated>
<author>
<name>Alexey Dobriyan</name>
<email>adobriyan@gmail.com</email>
</author>
<published>2009-09-22T00:03:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1a8670a29b5277cbe601f74ab63d2c5211fb3005'/>
<id>urn:sha1:1a8670a29b5277cbe601f74ab63d2c5211fb3005</id>
<content type='text'>
Signed-off-by: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
Acked-by: David Rientjes &lt;rientjes@google.com&gt;
Reviewed-by: KOSAKI Motohiro &lt;kosaki.motohiro@jp.fujitsu.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
