[lc-checkins] CVS: linux/mm filemap.c,1.8,1.9
Status: Beta
Brought to you by:
nitin_sf
From: Rodrigo S. de C. <rc...@us...> - 2002-02-07 21:07:30
|
Update of /cvsroot/linuxcompressed/linux/mm In directory usw-pr-cvs1:/tmp/cvs-serv13905/mm Added Files: filemap.c Log Message: This version features the adaptable vswap implementation. It's the first version and have to be improved, but it seems stable though. One of the improvements is to deal with many shrink and grows in a row (what I think it's stable but not completely functional). And we still have to deal with a possible find_vma failure, what will cause a BUG() in the current code. - created vswap_alloc_and_init(), like init_comp_page(), but allocates the page too. - now {grow,shrink}_comp_cache() checks also if the vswap needs to be shrunk or grown, using vswap_needs_to_{grow,shrink}(). - grow_vswap() is a very simple function. It allocates the new vswap table, copies the pointer to the vswap entries, allocate the new vswap entries and that's it. - shrink_vswap() is a complex function. It tries to compact all the used vswap entries and only when we could do it (it may be done at once, depends on the page locks), we effectively shrink the cache. |