aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorAnton Altaparmakov <aia21@cantab.net>2004-05-28 11:52:07 +0100
committerAnton Altaparmakov <aia21@cantab.net>2004-05-28 11:52:07 +0100
commit740dfb464b3239b4e400c3e81de76aee1939a359 (patch)
tree6264f7a6ff1cd62d5c9d6ae1035c115bc31c0b84 /Documentation
parent076d341a68c9dce4a959d1920639e7fc20c9ca4b (diff)
parente743bea22dc98c9a63fe625fc82d262f32ecc97d (diff)
downloadhistory-740dfb464b3239b4e400c3e81de76aee1939a359.tar.gz
Merge cantab.net:/home/src/bklinux-2.6
into cantab.net:/home/src/ntfs-2.6
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/power/swsusp.txt34
-rw-r--r--Documentation/power/tricks.txt2
-rw-r--r--Documentation/power/video.txt4
3 files changed, 32 insertions, 8 deletions
diff --git a/Documentation/power/swsusp.txt b/Documentation/power/swsusp.txt
index 168322ef857740..8bc308d0341ea3 100644
--- a/Documentation/power/swsusp.txt
+++ b/Documentation/power/swsusp.txt
@@ -123,14 +123,15 @@ server is not hotplug capable. What do you do? Suspend to disk,
replace ethernet card, resume. If you are fast your users will not
even see broken connections.
-Q: Maybe I'm missing something, but why doesn't the regular io paths
-work?
-A: (Basically) you want to replace all kernel data with kernel data saved
-on disk. How do you do that using normal i/o paths? If you'll read
-"new" data 4KB at a time, you'll crash... because you still need "old"
-data to do the reading, and "new" data may fit on same physical spot
-in memory.
+Q: Maybe I'm missing something, but why don't the regular I/O paths work?
+
+A: We do use the regular I/O paths. However we cannot restore the data
+to its original location as we load it. That would create an
+inconsistent kernel state which would certainly result in an oops.
+Instead, we load the image into unused memory and then atomically copy
+it back to it original location. This implies, of course, a maximum
+image size of half the amount of memory.
There are two solutions to this:
@@ -141,6 +142,10 @@ read "new" data onto free spots, then cli and copy
between 0-640KB. That way, I'd have to make sure that 0-640KB is free
during suspending, but otherwise it would work...
+suspend2 shares this fundamental limitation, but does not include user
+data and disk caches into "used memory" by saving them in
+advance. That means that the limitation goes away in practice.
+
Q: Does linux support ACPI S4?
A: No.
@@ -161,7 +166,7 @@ while machine is suspended-to-disk, Linux will fail to notice that.
Q: My machine doesn't work with ACPI. How can I use swsusp than ?
-A: Do reboot() syscall with right parameters. Warning: glibc gets in
+A: Do a reboot() syscall with right parameters. Warning: glibc gets in
its way, so check with strace:
reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, 0xd000fce2)
@@ -181,3 +186,16 @@ int main()
LINUX_REBOOT_CMD_SW_SUSPEND, 0);
return 0;
}
+
+Q: What is 'suspend2'?
+
+A: suspend2 is 'Software Suspend 2', a forked implementation of
+suspend-to-disk which is available as separate patches for 2.4 and 2.6
+kernels from swsusp.sourceforge.net. It includes support for SMP, 4GB
+highmem and preemption. It also has a extensible architecture that
+allows for arbitrary transformations on the image (compression,
+encryption) and arbitrary backends for writing the image (eg to swap
+or an NFS share[Work In Progress]). Questions regarding suspend2
+should be sent to the mailing list available through the suspend2
+website, and not to the Linux Kernel Mailing List. We are working
+toward merging suspend2 into the mainline kernel.
diff --git a/Documentation/power/tricks.txt b/Documentation/power/tricks.txt
index 43283e9812f65c..c6d58d3da133f2 100644
--- a/Documentation/power/tricks.txt
+++ b/Documentation/power/tricks.txt
@@ -7,6 +7,8 @@ If you want to trick swsusp/S3 into working, you might want to try:
* go with minimal config, turn off drivers like USB, AGP you don't
really need
+* turn off APIC and preempt
+
* use ext2. At least it has working fsck. [If something seemes to go
wrong, force fsck when you have a chance]
diff --git a/Documentation/power/video.txt b/Documentation/power/video.txt
index cd9e2075b2253c..652657307de08f 100644
--- a/Documentation/power/video.txt
+++ b/Documentation/power/video.txt
@@ -30,6 +30,10 @@ There are three types of systems where video works after S3 resume:
patched X, and plain text console (no vesafb or radeonfb), see
http://www.doesi.gmxhome.de/linux/tm800s3/s3.html. (Acer TM 800)
+* radeon systems, where X can soft-boot your video card. You'll need
+ patched X, and plain text console (no vesafb or radeonfb), see
+ http://www.doesi.gmxhome.de/linux/tm800s3/s3.html. (Acer TM 800)
+
Now, if you pass acpi_sleep=something, and it does not work with your
bios, you'll get hard crash during resume. Be carefull.