* Time to harpoon the "Suspend2 changes things lots of things" myth.
@ 2006-02-03 21:31 Nigel Cunningham
0 siblings, 0 replies; only message in thread
From: Nigel Cunningham @ 2006-02-03 21:31 UTC (permalink / raw)
To: linux-kernel
[-- Attachment #1: Type: text/plain, Size: 5481 bytes --]
Hi all.
Here's a diff stat of the core changes for Suspend2:
Documentation/kernel-parameters.txt | 8
Documentation/power/internals.txt | 360 ++++++++++
Documentation/power/suspend2.txt | 631 ++++++++++++++++++
arch/arm/mm/init.c | 15
arch/x86_64/kernel/e820.c | 17
arch/x86_64/kernel/suspend.c | 6
arch/x86_64/mm/init.c | 19
block/ll_rw_blk.c | 19
include/asm-arm/hw_irq.h | 4
include/asm-arm/suspend2.h | 136 ++++
include/asm-i386/suspend2.h | 288 ++++++++
include/asm-x86_64/page.h | 2
include/asm-x86_64/suspend.h | 2
include/linux/bio.h | 1
include/linux/dyn_pageflags.h | 66 +
include/linux/kernel.h | 2
include/linux/netlink.h | 2
include/linux/suspend.h | 9
include/linux/suspend2.h | 231 ++++++
init/do_mounts.c | 28
init/do_mounts_initrd.c | 9
init/main.c | 4
kernel/fork.c | 9
kernel/power/Kconfig | 73 ++
kernel/power/Makefile | 25
kernel/power/atomic_copy.c | 473 ++++++++++++++
kernel/power/atomic_copy.h | 4
kernel/power/block_io.h | 76 ++
kernel/power/checksum.h | 11
kernel/power/compression.c | 638 ++++++++++++++++++
kernel/power/debug_pagealloc.c | 111 +++
kernel/power/debug_pagealloc.h | 3
kernel/power/encryption.c | 597 +++++++++++++++++
kernel/power/extent.c | 247 +++++++
kernel/power/extent.h | 105 +++
kernel/power/io.c | 1026 ++++++++++++++++++++++++++++++
kernel/power/io.h | 38 +
kernel/power/modules.c | 312 +++++++++
kernel/power/modules.h | 180 +++++
kernel/power/netlink.c | 365 ++++++++++
kernel/power/netlink.h | 43 +
kernel/power/pagedir.c | 370 ++++++++++
kernel/power/pagedir.h | 37 +
kernel/power/pageflags.c | 150 ++++
kernel/power/pageflags.h | 86 ++
kernel/power/power.h | 4
kernel/power/power_off.c | 79 ++
kernel/power/power_off.h | 13
kernel/power/prepare_image.c | 753 ++++++++++++++++++++++
kernel/power/prepare_image.h | 31
kernel/power/proc.c | 305 +++++++++
kernel/power/proc.h | 70 ++
kernel/power/snapshot.c | 2
kernel/power/storage.c | 323 +++++++++
kernel/power/storage.h | 21
kernel/power/suspend.c | 1133 +++++++++++++++++++++++++++++++++
kernel/power/suspend.h | 28
kernel/power/suspend2.h | 31
kernel/power/suspend2_common.h | 25
kernel/power/suspend_block_io.c | 1086 ++++++++++++++++++++++++++++++++
kernel/power/suspend_checksums.c | 509 +++++++++++++++
kernel/power/suspend_file.c | 1077 +++++++++++++++++++++++++++++++
kernel/power/suspend_swap.c | 1213 +++++++==> (Trunc'd for word wrap)
kernel/power/swsusp.c | 4
kernel/power/swsusp.h | 24
kernel/power/ui.c | 853 +++++++++++++++++++++++++
kernel/power/ui.h | 44 +
kernel/power/version.h | 2
lib/Kconfig | 3
lib/Makefile | 2
lib/dyn_pageflags.c | 330 +++++++++
lib/vsprintf.c | 28
mm/memory.c | 9
73 files changed, 14823 insertions(+), 17 deletions(-)
As you can see, nearly everything is in the new kernel/power files and arch
specific code.
But, you might say, if I download a pacakage from suspend2.net, my diffstat
looks quite different. Yes. that's because that packaging also includes
related, noncore improvements such as refrigerator improvements, cryptoapi
lzf support and driver fixes that aren't upstream yet. The refrigerator
improvements especially cause a blowout in the number of files affected by
the patch.
I'm sure the above will also lead to the question "Why is it so big compared
to swsusp?" That's because Suspend2 supports the following features the
swsusp currently lacks:
- Writing to more than one swap file/partition in an image.
- Writing to ordinary files instead of to swap.
- Asynchronous I/O
- Readahead for synchronous I/O
- Optional compression and encryption via cryptoapi
- An optional userspace user interface, controlled via a netlink socket.
- Reconfiguring without rebooting.
- Save a full image of memory (or...)
- Set an arbitrary soft upper limit on the size of the image
- Press escape to cancel suspending to disk at any time during writing the
image.
- Disable cancelling via a proc entry if want to.
- Configure encryption anyway you want - all settings are simply passed
through.
- Testing settings that can be used to benchmark and issues
- Support for userui storage manager (eg for managing network connections when
writing the image to the network)
- Documentation. Not perfect, but it adds to the size of the code too.
Regards,
Nigel
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2006-02-03 22:30 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-02-03 21:31 Time to harpoon the "Suspend2 changes things lots of things" myth Nigel Cunningham
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox