[lc-checkins] CVS: linux/mm filemap.c,1.33,1.34 memory.c,1.33,1.34 page_alloc.c,1.22,1.23 swap_state
Status: Beta
Brought to you by:
nitin_sf
From: Rodrigo S. de C. <rc...@us...> - 2002-07-16 18:41:58
|
Update of /cvsroot/linuxcompressed/linux/mm In directory usw-pr-cvs1:/tmp/cvs-serv28423/mm Modified Files: filemap.c memory.c page_alloc.c swap_state.c swapfile.c vmscan.c Log Message: Cleanups o remove support for pages with buffers o virtual swap code (mainly when freeing an entry or allocating a page to service a page fault) Other o Added help for CONFIG_COMP_DOUBLE_PAGE into Configure.help Index: filemap.c =================================================================== RCS file: /cvsroot/linuxcompressed/linux/mm/filemap.c,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -r1.33 -r1.34 *** filemap.c 15 Jul 2002 20:52:23 -0000 1.33 --- filemap.c 16 Jul 2002 18:41:55 -0000 1.34 *************** *** 163,173 **** mark_inode_dirty_pages(mapping->host); #ifdef CONFIG_COMP_CACHE ! if (PageTestandClearCompCache(page)) { ! if (PageMappedCompCache(page)) { ! steal_page_from_comp_cache(page, NULL); ! return; ! } invalidate_comp_cache(mapping, page->index); - } #endif } --- 163,168 ---- mark_inode_dirty_pages(mapping->host); #ifdef CONFIG_COMP_CACHE ! if (PageTestandClearCompCache(page)) invalidate_comp_cache(mapping, page->index); #endif } *************** *** 253,264 **** /* - * Let's steal the page from comp cache to be safely removed - * from page cache below. Actually, this page will also be - * used by compressed cache, that's why it's passed as second - * parameter to the function - */ - steal_page_from_comp_cache(page, page); - - /* * We remove the page from the page cache _after_ we have * destroyed all buffer-cache references to it. Otherwise some --- 248,251 ---- *************** *** 1009,1013 **** if (page) { page_cache_get(page); - steal_page_from_comp_cache(page, NULL); if (TryLockPage(page)) { spin_unlock(&pagecache_lock); --- 996,999 ---- *************** *** 1099,1106 **** lru_cache_add(page); #ifdef CONFIG_COMP_PAGE_CACHE ! if (!read_comp_cache(mapping, index, page) && TryLockPage(page)) { ! ClearPageUptodate(page); BUG(); - } #endif } --- 1085,1090 ---- lru_cache_add(page); #ifdef CONFIG_COMP_PAGE_CACHE ! if (!read_comp_cache(mapping, index, page) && TryLockPage(page)) BUG(); #endif } *************** *** 1513,1518 **** found_page: page_cache_get(page); - steal_page_from_comp_cache(page, NULL); - spin_unlock(&pagecache_lock); --- 1497,1500 ---- *************** *** 2064,2068 **** if (!page) goto no_cached_page; - steal_page_from_comp_cache(page, NULL); /* --- 2046,2049 ---- *************** *** 2945,2952 **** page_cache_release(cached_page); #ifdef CONFIG_COMP_PAGE_CACHE ! if (page) { ! steal_page_from_comp_cache(page, NULL); flush_comp_cache(page); - } #endif return page; --- 2926,2931 ---- page_cache_release(cached_page); #ifdef CONFIG_COMP_PAGE_CACHE ! if (page) flush_comp_cache(page); #endif return page; Index: memory.c =================================================================== RCS file: /cvsroot/linuxcompressed/linux/mm/memory.c,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -r1.33 -r1.34 *** memory.c 5 Jul 2002 15:21:49 -0000 1.33 --- memory.c 16 Jul 2002 18:41:55 -0000 1.34 *************** *** 1139,1143 **** --- 1139,1145 ---- ret = 2; } + get_vswap(entry); page = read_swap_cache_async(entry); + put_vswap(entry); if (!page) { /* Index: page_alloc.c =================================================================== RCS file: /cvsroot/linuxcompressed/linux/mm/page_alloc.c,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -r1.22 -r1.23 *** page_alloc.c 15 Jul 2002 20:52:23 -0000 1.22 --- page_alloc.c 16 Jul 2002 18:41:55 -0000 1.23 *************** *** 92,97 **** if (PageSwapCache(page)) BUG(); - if (PageMappedCompCache(page)) - BUG(); if (PageLocked(page)) BUG(); --- 92,95 ---- Index: swap_state.c =================================================================== RCS file: /cvsroot/linuxcompressed/linux/mm/swap_state.c,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -r1.36 -r1.37 *** swap_state.c 15 Jul 2002 20:52:23 -0000 1.36 --- swap_state.c 16 Jul 2002 18:41:55 -0000 1.37 *************** *** 179,186 **** */ INC_CACHE_INFO(find_total); ! if (found) { INC_CACHE_INFO(find_success); - steal_page_from_comp_cache(found, NULL); - } return found; } --- 179,184 ---- */ INC_CACHE_INFO(find_total); ! if (found) INC_CACHE_INFO(find_success); return found; } *************** *** 205,212 **** */ found_page = find_get_page(&swapper_space, entry.val); ! if (found_page) { ! steal_page_from_comp_cache(found_page, new_page); break; - } /* --- 203,208 ---- */ found_page = find_get_page(&swapper_space, entry.val); ! if (found_page) break; /* *************** *** 214,220 **** */ if (!new_page) { - set_vswap_allocating(entry); new_page = alloc_page(GFP_HIGHUSER); - clear_vswap_allocating(entry); if (!new_page) break; /* Out of memory */ --- 210,214 ---- *************** *** 223,230 **** if (readahead) { found_page = find_get_page(&swapper_space, entry.val); ! if (found_page) { ! steal_page_from_comp_cache(found_page, new_page); break; - } if (in_comp_cache(&swapper_space, entry.val)) return new_page; --- 217,222 ---- if (readahead) { found_page = find_get_page(&swapper_space, entry.val); ! if (found_page) break; if (in_comp_cache(&swapper_space, entry.val)) return new_page; Index: swapfile.c =================================================================== RCS file: /cvsroot/linuxcompressed/linux/mm/swapfile.c,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -r1.30 -r1.31 *** swapfile.c 11 Jun 2002 13:20:49 -0000 1.30 --- swapfile.c 16 Jul 2002 18:41:55 -0000 1.31 *************** *** 384,388 **** /* Only cache user (+us), or swap space full? Free it! */ if (page_count(page) - !!page->buffers == 2 || vm_swap_full()) { - steal_page_from_comp_cache(page, NULL); delete_from_swap_cache(page); SetPageDirty(page); --- 384,387 ---- Index: vmscan.c =================================================================== RCS file: /cvsroot/linuxcompressed/linux/mm/vmscan.c,v retrieving revision 1.40 retrieving revision 1.41 diff -C2 -r1.40 -r1.41 *** vmscan.c 11 Jul 2002 19:08:11 -0000 1.40 --- vmscan.c 16 Jul 2002 18:41:55 -0000 1.41 *************** *** 443,447 **** page_cache_get(page); ! if (comp_cache_try_to_release_page(&page, gfp_mask, priority)) { if (!page->mapping) { /* --- 443,447 ---- page_cache_get(page); ! if (try_to_release_page(page, gfp_mask)) { if (!page->mapping) { /* *************** *** 486,490 **** * this is the non-racy check for busy page. */ ! if (!page->mapping || !is_page_cache_freeable(page) || PageMappedCompCache(page)) { spin_unlock(&pagecache_lock); UnlockPage(page); --- 486,490 ---- * this is the non-racy check for busy page. */ ! if (!page->mapping || !is_page_cache_freeable(page)) { spin_unlock(&pagecache_lock); UnlockPage(page); |