[lc-checkins] CVS: linux/mm filemap.c,1.17,1.18 shmem.c,1.17,1.18 vmscan.c,1.29,1.30
Status: Beta
Brought to you by:
nitin_sf
|
From: Rodrigo S. de C. <rc...@us...> - 2002-02-28 19:05:07
|
Update of /cvsroot/linuxcompressed/linux/mm
In directory usw-pr-cvs1:/tmp/cvs-serv1432/mm
Modified Files:
filemap.c shmem.c vmscan.c
Log Message:
- Some cleanups in mm/filemap.c
- Support for shared memory
Index: filemap.c
===================================================================
RCS file: /cvsroot/linuxcompressed/linux/mm/filemap.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -r1.17 -r1.18
*** filemap.c 27 Feb 2002 19:58:51 -0000 1.17
--- filemap.c 28 Feb 2002 19:05:04 -0000 1.18
***************
*** 975,981 ****
}
else {
- comp_cache_fragment_t * fragment;
- struct page ** hash;
-
if (!cached_page) {
cached_page = page_cache_alloc(mapping);
--- 975,978 ----
***************
*** 983,1008 ****
}
! if (find_comp_page(mapping, offset, &fragment))
! goto out;
- hash = page_hash(mapping, offset);
-
- if (add_to_page_cache_unique(cached_page, mapping, offset, hash))
- goto repeat;
-
if (lookup_comp_cache(mapping, offset, cached_page)) {
- lru_cache_del(cached_page);
- remove_inode_page(cached_page);
- page_cache_release(cached_page);
-
UnlockPage(cached_page);
! goto repeat;
}
page = cached_page;
cached_page = NULL;
-
- if (TryLockPage(page))
- BUG();
}
out:
--- 980,994 ----
}
! if (TryLockPage(cached_page))
! BUG();
if (lookup_comp_cache(mapping, offset, cached_page)) {
UnlockPage(cached_page);
! goto out;
}
+ add_to_page_cache(cached_page, mapping, offset);
page = cached_page;
cached_page = NULL;
}
out:
Index: shmem.c
===================================================================
RCS file: /cvsroot/linuxcompressed/linux/mm/shmem.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -r1.17 -r1.18
*** shmem.c 26 Feb 2002 20:59:01 -0000 1.17
--- shmem.c 28 Feb 2002 19:05:04 -0000 1.18
***************
*** 468,471 ****
--- 468,473 ----
}
+ invalidate_comp_cache(mapping, index);
+
*entry = swap;
info->swapped++;
***************
*** 477,480 ****
--- 479,487 ----
}
+ #ifdef CONFIG_COMP_CACHE
+ int shmem_page(struct page * page) {
+ return (page->mapping->a_ops == &shmem_aops);
+ }
+ #endif
/*
* shmem_getpage_locked - either get the page from swap or allocate a new one
Index: vmscan.c
===================================================================
RCS file: /cvsroot/linuxcompressed/linux/mm/vmscan.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -C2 -r1.29 -r1.30
*** vmscan.c 26 Feb 2002 20:59:01 -0000 1.29
--- vmscan.c 28 Feb 2002 19:05:04 -0000 1.30
***************
*** 416,424 ****
spin_unlock(&pagemap_lru_lock);
! #ifdef CONFIG_COMP_CACHE
! compress_page(page, 1, gfp_mask);
! #else
! writepage(page);
! #endif
page_cache_release(page);
--- 416,421 ----
spin_unlock(&pagemap_lru_lock);
! compress_dirty_page(page, writepage, gfp_mask);
!
page_cache_release(page);
|