linux/include
Rafael J. Wysocki 940864ddab [PATCH] swsusp: Use memory bitmaps during resume
Make swsusp use memory bitmaps to store its internal information during the
resume phase of the suspend-resume cycle.

If the pfns of saveable pages are saved during the suspend phase instead of
the kernel virtual addresses of these pages, we can use them during the resume
phase directly to set the corresponding bits in a memory bitmap.  Then, this
bitmap is used to mark the page frames corresponding to the pages that were
saveable before the suspend (aka "unsafe" page frames).

Next, we allocate as many page frames as needed to store the entire suspend
image and make sure that there will be some extra free "safe" page frames for
the list of PBEs constructed later.  Subsequently, the image is loaded and, if
possible, the data loaded from it are written into their "original" page
frames (ie.  the ones they had occupied before the suspend).

The image data that cannot be written into their "original" page frames are
loaded into "safe" page frames and their "original" kernel virtual addresses,
as well as the addresses of the "safe" pages containing their copies, are
stored in a list of PBEs.  Finally, the list of PBEs is used to copy the
remaining image data into their "original" page frames (this is done
atomically, by the architecture-dependent parts of swsusp).

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-26 08:49:02 -07:00
..
acpi
asm-alpha [PATCH] Standardize pxx_page macros 2006-09-26 08:48:51 -07:00
asm-arm [PATCH] Standardize pxx_page macros 2006-09-26 08:48:51 -07:00
asm-arm26 [PATCH] Standardize pxx_page macros 2006-09-26 08:48:51 -07:00
asm-avr32 [PATCH] AVR32 MTD: Static Memory Controller driver 2006-09-26 08:48:54 -07:00
asm-cris [PATCH] Standardize pxx_page macros 2006-09-26 08:48:51 -07:00
asm-frv [PATCH] FRV: Optimise ffs() 2006-09-26 08:48:54 -07:00
asm-generic [PATCH] x86: trivial pgtable.h __ASSEMBLY__ move 2006-09-26 08:48:56 -07:00
asm-h8300 Fix H8300 exported headers. 2006-09-21 08:51:43 +01:00
asm-i386 [PATCH] x86: trivial move of ptep_set_access_flags 2006-09-26 08:48:56 -07:00
asm-ia64 [PATCH] smp_call_function_single() cleanup 2006-09-26 08:48:56 -07:00
asm-m32r [PATCH] Standardize pxx_page macros 2006-09-26 08:48:51 -07:00
asm-m68k [PATCH] Standardize pxx_page macros 2006-09-26 08:48:51 -07:00
asm-m68knommu Fix m68knommu exported headers 2006-09-21 08:50:36 +01:00
asm-mips [PATCH] Alchemy: Delete unused pt_regs * argument from au1xxx_dbdma_chan_alloc 2006-09-26 08:48:54 -07:00
asm-parisc [PATCH] Standardize pxx_page macros 2006-09-26 08:48:51 -07:00
asm-powerpc [PATCH] Standardize pxx_page macros 2006-09-26 08:48:51 -07:00
asm-ppc [PATCH] Standardize pxx_page macros 2006-09-26 08:48:51 -07:00
asm-s390 [PATCH] Standardize pxx_page macros 2006-09-26 08:48:51 -07:00
asm-sh [PATCH] Standardize pxx_page macros 2006-09-26 08:48:51 -07:00
asm-sh64 [PATCH] Standardize pxx_page macros 2006-09-26 08:48:51 -07:00
asm-sparc [PATCH] Standardize pxx_page macros 2006-09-26 08:48:51 -07:00
asm-sparc64 [PATCH] Standardize pxx_page macros 2006-09-26 08:48:51 -07:00
asm-um [PATCH] Standardize pxx_page macros 2006-09-26 08:48:51 -07:00
asm-v850 Fix v850 exported headers 2006-09-21 09:05:25 +01:00
asm-x86_64 [PATCH] Make swsusp avoid memory holes and reserved memory regions on x86_64 2006-09-26 08:48:58 -07:00
asm-xtensa [PATCH] Standardize pxx_page macros 2006-09-26 08:48:51 -07:00
crypto [CRYPTO] digest: Added user API for new hash type 2006-09-21 11:46:17 +10:00
keys
linux [PATCH] swsusp: Use memory bitmaps during resume 2006-09-26 08:49:02 -07:00
math-emu
media
mtd Merge git://git.infradead.org/~dwmw2/hdroneline 2006-09-22 12:56:22 -07:00
net [NetLabel]: rework the Netlink attribute handling (part 1) 2006-09-25 15:56:09 -07:00
pcmcia
rdma IB/sa: fix ib_sa_selector names 2006-09-22 15:22:55 -07:00
rxrpc
scsi [PATCH] SCSI gfp_t annotations 2006-09-24 20:07:49 -07:00
sound [ALSA] ak4xxx - Remove bogus IPGA controls 2006-09-23 10:46:55 +02:00
video [HEADERS] One line per header in Kbuild files to reduce conflicts 2006-09-19 12:43:58 +01:00
Kbuild [HEADERS] One line per header in Kbuild files to reduce conflicts 2006-09-19 12:43:58 +01:00