[lc-checkins] CVS: linux/mm filemap.c,1.24,1.25 vmscan.c,1.32,1.33
Status: Beta
Brought to you by:
nitin_sf
|
From: Rodrigo S. de C. <rc...@us...> - 2002-05-08 20:24:47
|
Update of /cvsroot/linuxcompressed/linux/mm In directory usw-pr-cvs1:/tmp/cvs-serv17200/mm Modified Files: filemap.c vmscan.c Log Message: Some bug fixes: - Cached memory accounting fix Details: http://sourceforge.net/tracker/index.php?func=detail&aid=553794&group_id=13472&atid=113472 - Remove all comp_cache_skip* functions. At least temporarily, there were removed because I am not sure what are the consequences of skipping doing some stuff. For example, skip writing dirty buffers turns out to be a horrible choice for dbench, which gets a terrible performance. - Fixes a potential oops in compressed_pages() to wrong return value from get_comp_cache_page(). Details: http://sourceforge.net/tracker/index.php?func=detail&aid=553878&group_id=13472&atid=113472 - Makes compressed cache work correctly if support for page cache is disabled. Details: http://sourceforge.net/tracker/index.php?func=detail&aid=553408&group_id=13472&atid=113472 - Fixes a kernel BUG() at vmscan.c:366 (active page on inactive list) Details: http://sourceforge.net/tracker/index.php?func=detail&aid=551996&group_id=13472&atid=113472 Index: filemap.c =================================================================== RCS file: /cvsroot/linuxcompressed/linux/mm/filemap.c,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -r1.24 -r1.25 *** filemap.c 28 Apr 2002 20:51:34 -0000 1.24 --- filemap.c 8 May 2002 20:24:34 -0000 1.25 *************** *** 162,166 **** if (mapping->host) mark_inode_dirty_pages(mapping->host); ! #ifdef CONFIG_COMP_PAGE_CACHE if (PageTestandClearCompCache(page)) invalidate_comp_cache(mapping, page->index); --- 162,166 ---- if (mapping->host) mark_inode_dirty_pages(mapping->host); ! #ifdef CONFIG_COMP_CACHE if (PageTestandClearCompCache(page)) invalidate_comp_cache(mapping, page->index); Index: vmscan.c =================================================================== RCS file: /cvsroot/linuxcompressed/linux/mm/vmscan.c,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -r1.32 -r1.33 *** vmscan.c 2 May 2002 16:31:37 -0000 1.32 --- vmscan.c 8 May 2002 20:24:36 -0000 1.33 *************** *** 511,520 **** /* compress it if it's a clean page that has not been * compressed in a previous iteration */ ! if (compress_clean_page(page, gfp_mask)) { ! list_del(entry); ! list_add_tail(entry, &inactive_list); ! max_scan++; continue; - } /* point of no return */ --- 511,516 ---- /* compress it if it's a clean page that has not been * compressed in a previous iteration */ ! if (compress_clean_page(page, gfp_mask)) continue; /* point of no return */ *************** *** 584,597 **** unsigned long ratio; - /* if compressed cache is enable, we should want to have much - * more pressure on swap/page cache than on other caches */ - if (comp_cache_skip_slab_shrunk()) - goto skip_slab_cache; - nr_pages -= kmem_cache_reap(gfp_mask); if (nr_pages <= 0) return 0; - skip_slab_cache: nr_pages = chunk_size; /* try to keep the active list 2/3 of the size of the cache */ --- 580,587 ---- *************** *** 603,609 **** return 0; - if (comp_cache_skip_dicache_shrunk()) - return nr_pages; - shrink_dcache_memory(priority, gfp_mask); shrink_icache_memory(priority, gfp_mask); --- 593,596 ---- |