[lc-devel] Announce: Compressed cache alpha-005 release
Status: Beta
Brought to you by:
nitin_sf
From: Nitin G. <nit...@gm...> - 2006-09-05 22:49:07
|
------------ Project: Compressed Caching for Linux (2.6.x kernels) Git (web): http://dev.laptop.org/git.do?p=projects/linux-mm-cc Git (git): git://dev.laptop.org/projects/linux-mm-cc Home Page: http://linuxcompressed.sourceforge.net ------------ Hi all! This release brings a Major new addition to compressed caching feature (kernel 2.6.18-rc6) -- Now, both page-cache (clean & dirty) pages and swap-cache pages are compressed! Also fixed a lot of other bugs! * Usage: It creates two /proc entries: /proc/sys/vm/{max_anon_cc_size,max_fs_backed_cc_size} Use these to set compressed cache size (in unit of no. of pages) for anonymous(swap-cache) and filesystem-backed(page-cache) pages respectively. * I tested this as: RAM: 128MB ccache for anon pages - size: 5MB (1280 pages) ccache for page cache pages - size: 10MB (2560 pages) Launched openoffice-writer, gimp, firefox, kate, konsole. Closed these, re-opened, open some web-pages, some file in writer, close all, open all again --- it didn't crash on _my_ system. (Focusing on correctness for now!) If you test it and find _any_ problems, please mail me or on mailing list. Thanks! * NOTES -- page-cache and swap-cache compression can be separately turned on. So, you can do separate tests for these by keeping other to 0 size. -- Page-cache pages that could now be added to ccache are let goto disks (or simply freed for clean pages). -- Pages are cyclically compressed using WKdm, WK4x4 and LZO. You can easily change this behavior by changing single line in guess_algo() in mm/ccache.c (see function comments). -- You can further filter (like allowing only dirty page cache pages) which pages are compressed by simply adding criteria in should_add_to_ccache() in mm/ccache.c * TODO -- Export statistics like current anon and file-system backed ccache sizes (_whatever_ statistics are required to get useful benchmark figures). -- Analyze more properly conditions of _very_ low memory conditions like what happens if OOM killer kills a process whose pages are being compressed! -- Write in detail what exactly remains, present problems: also list requirements for long term goals like dynamic ccache resizing support. -- Code cleanups: like use proper log level for info/warning or debug messages. Don't use pr_info() throughout. If you test it please mail me the results! Thanks! * Patch (for kernel 2.6.18-rc6): http://prdownloads.sourceforge.net/linuxcompressed/patch-ccache- alpha-005-2.6.18-rc6?download Cheers, Nitin |