[lc-devel] [PATCH] 2.4.18-0.22
Status: Beta
Brought to you by:
nitin_sf
From: Rodrigo S. de C. <rc...@im...> - 2002-03-16 12:23:36
|
Hi all, The new 0.22 version is out for 2.4.18 version of Linux Kernel. This version has two main features: the whole page cache is supported, so from now on all pages from page cache (not only swap cache pages) are compressed; and manual adaptivity is fully implemented. - Page Cache Support These changes are not complex but took quite a while to accomplish a good stability. Some prelimary tests with dbench and 0.22pre7 are available at: http://linuxcompressed.sourceforge.net/statistics/0.22pre7_dbench/ This code may still need some changes for a better performance (which will be done as soon as kernprof patch is available for 2.4.18), but the results from these tests are pretty better than the ones performed with 0.21. - Clean Pages Support + Pages Not Removed in Page Fault All pages are compressed now, no matter they are clean or not. That means that only dirty fragments (= compressed pages) are going to be written out to the backing storage. Another interesting feature introduced in this version is the one which only removes the pages when it gets unmapped (the process dies, the file is removed, etc) or when we are out of space in compressed cache. Beforehand we always removed the fragment from compressed cache when servicing a page fault. - Manual Adaptivity Now all main data structures (fragment hash table and vswap) are correctly resized to support the new compressed cache size. You can do that echoing the new number of pages to be used by compressed cache to the following file: /proc/sys/vm/comp_cache/size. A cat in this file will show the current number of pages reserved for compressed cache. Kernel parameter and Config option are going to set the _initial_ (not maximum) number of pages used by compressed pages, you will be able to change this number whenever you want. Note: The compressed cache cannot be disable yet, so a very small number of pages for compressed cache may become a bottleneck depending on the scenario. An option to disable the compressed cache on the fly is one of our high-priority itens on our todo list. - Other Features This version also have shared memory support back, many cleanups and bug fixes, simpler and much more documented code (mainly vswap) and also a code more stable (with new allocation failure handling, for instance). - Stability I tested a lot this patch, running concurrently mmap001, fillmem and changing compressed cache size. I also compiled several times the Linux Kernel and had a hard time to make dbench stable, but finally did. The last tests I ran were those first tests (mmap001, fillmem and comp cache resize) for a period of over 12 hours trying to make the system really short of memory (usual scenario to trigger annoying bugs). The code passed it. Anyway, I'd like to hear reports about its stability. Detailed Change Log: http://sourceforge.net/project/shownotes.php?release_id=79628 Download: http://prdownloads.sourceforge.net/linuxcompressed/patch-comp-cache-2.4.18-0.22.bz2 Regards, -- Rodrigo S. de Castro <rc...@im...> |