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:
pgpDgX2qYvy1G.pgp
Description: PGP signature
- Prev by Date: Re: [ 01/10] [Suspend2] kernel/power/modules.h
- Next by Date: Re: [ 01/10] [Suspend2] kernel/power/modules.h
- Previous by thread: [PATCH] ibmasm driver: don't use previously freed pointer
- Next by thread: Frère PETER KAMARA
- Index(es):