lkml.org 
[lkml]   [2010]   [May]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 3/3] mm: Swap checksum
On 05/22/2010 09:08 PM, Cesar Eduardo Barros wrote:
> Add support for checksumming the swap pages written to disk, using the
> same checksum as btrfs (crc32c). Since the contents of the swap do not
> matter after a shutdown, the checksum is kept in memory only.
>
> Note that this code does not checksum the software suspend image.
>
>
>
> #define SWAP_FLAG_PREFER 0x8000 /* set if swap priority specified */
> #define SWAP_FLAG_PRIO_MASK 0x7fff
> @@ -180,6 +183,10 @@ struct swap_info_struct {
> struct swap_extent *curr_swap_extent;
> struct swap_extent first_swap_extent;
> struct block_device *bdev; /* swap device or bdev of swap file */
> +#ifdef CONFIG_SWAP_CHECKSUM
> + unsigned short *csum_count; /* usage count of a csum page */
> + u32 **csum; /* vmalloc'ed array of swap csums */
> +#endif
> struct file *swap_file; /* seldom referenced */
> unsigned int old_block_size; /* seldom referenced */
> };
>

On 64-bit, we may be able to store the checksum in the pte, if the swap
device is small enough.

If we take the trouble to touch the page, we may as well compare it
against zero, and if so drop it instead of swapping it out.

--
error compiling committee.c: too many arguments to function



\
 
 \ /
  Last update: 2010-05-23 17:23    [from the cache]
©2003-2014 Jasper Spaans. Advertise on this site