Update of /cvsroot/linuxcompressed/linux/include/linux
In directory usw-pr-cvs1:/tmp/cvs-serv1879/include/linux
Modified Files:
comp_cache.h
Log Message:
- New statistics for compressed dirty and clean pages
- Cleanups regarding comp_cache_skip_* prototypes. These functions will no
longer be used in compressed cache since they impose fundamental changes
upon the VM that aren't worth it and would require long time researching and
testing.
- Some comestic changes regarding the information printed on boot process.
- Now we fix the normal zone watermarks when compressed cache is initialized
to make sure we don't put too much (and unneeded) pressure on the
uncompressed cache. For example, on a system with 48M RAM and 24M compressed
cache, the watermarks on the remaining 24M uncompressed cache will have been
wrongly computed on the 48M total memory. Now we make sure that the
watermarks are computed on the correct amount of uncompressed cache
available memory. This information (old and new watermarks) is printed along
with the initial compressed cache boot messages.
- Clean CompCache bit for freed pages in lookup_all_comp_pages().
- Make sure we first try to get a swap buffer without syncing its buffers to
disk. Earlier, we were syncing any dirty buffer as soon as we could lock a
page. Now that's done only in case we couldn't get any page without syncing
its buffer in order to free them. That's done cleaning up the __GFP_IO flag
if we are in the "don't sync" (= !wait) stage.
Index: comp_cache.h
===================================================================
RCS file: /cvsroot/linuxcompressed/linux/include/linux/comp_cache.h,v
retrieving revision 1.66
retrieving revision 1.67
diff -C2 -r1.66 -r1.67
*** comp_cache.h 15 May 2002 18:05:35 -0000 1.66
--- comp_cache.h 21 May 2002 18:49:06 -0000 1.67
***************
*** 2,6 ****
* linux/mm/comp_cache.h
*
! * Time-stamp: <2002-05-15 10:32:02 rcastro>
*
* Linux Virtual Memory Compressed Cache
--- 2,6 ----
* linux/mm/comp_cache.h
*
! * Time-stamp: <2002-05-21 15:10:13 rcastro>
*
* Linux Virtual Memory Compressed Cache
***************
*** 29,33 ****
#include <linux/WKcommon.h>
! #define COMP_CACHE_VERSION "0.23pre3"
/* maximum compressed size of a page */
--- 29,33 ----
#include <linux/WKcommon.h>
! #define COMP_CACHE_VERSION "0.23pre4"
/* maximum compressed size of a page */
***************
*** 243,246 ****
--- 243,247 ----
unsigned long comp_swap, decomp_swap;
unsigned long comp_page, decomp_page;
+ unsigned long comp_dirty, comp_clean;
unsigned long swap_out, page_out;
unsigned long faultin_swap, faultin_page;
***************
*** 298,302 ****
void set_fragment_algorithm(comp_cache_fragment_t *, unsigned short);
void decompress(comp_cache_fragment_t *, struct page *);
! int compress(struct page *, void *, unsigned short *);
void __init comp_cache_algorithms_init(void);
--- 299,303 ----
void set_fragment_algorithm(comp_cache_fragment_t *, unsigned short);
void decompress(comp_cache_fragment_t *, struct page *);
! int compress(struct page *, void *, unsigned short *, int);
void __init comp_cache_algorithms_init(void);
***************
*** 330,337 ****
/* main.c */
#ifdef CONFIG_COMP_CACHE
- inline int comp_cache_skip_buffer_freeing(void);
- inline int comp_cache_skip_slab_shrunk(void);
- inline int comp_cache_skip_dicache_shrunk(void);
-
int compress_page(struct page *, int, unsigned int);
void comp_cache_init(void);
--- 331,334 ----
***************
*** 350,357 ****
#else
- static inline int comp_cache_skip_buffer_freeing(void) { return 0; }
- static inline int comp_cache_skip_slab_shrunk(void) { return 0; }
- static inline int comp_cache_skip_dicache_shrunk(void) { return 0; }
-
static inline void comp_cache_init(void) {};
static inline int compress_dirty_page(struct page * page, int (*writepage)(struct page *), unsigned int gfp_mask) { return writepage(page); }
--- 347,350 ----
|