[lc-devel] [PATCH] 2.4.18-0.23
Status: Beta
Brought to you by:
nitin_sf
From: Rodrigo S. de C. <rc...@im...> - 2002-07-12 15:43:24
|
This major version features a much more stable version of compressed cache code, with many bugs which have been fixed in the last 9 pre versions. New online data about compressed cache is provided with new two /proc entries: comp_cache_hist and comp_cache_frag. The former shows how many fragments are stored in compressed cache, so you can check how it is distributed throughout the several pages of compressed cache. The latter shows the fragmentation within the compressed cache. It shows the free space (space that can be used right away) and the fragmented space (space that is free, but isn't contiguos, so it needs to compact the fragments). The already existing /proc/comp_cache_stat entry now shows more info about compressed cache and its output has also been redesigned. The most important improvements in this new version of compressed cache concerns performance. That matter has been heavily researched and we tried to improve as much as we could (we believe there are still some improvements to go). Mostly conceptual bugs were found out and fixed with the aid of the complex Linux Kernel compilation test. Regarding performance, VM watermarks are changed when compressed cache is enabled to decrease pressure on the uncompressed cache. Also readaheads (for swapins and file reads) are much more intelligent and do not mess up pages ordering nor forces a larger number of disk reads. A new feature present in this version is the support for pages with buffers when page cache support is enabled. That helps decreasing the IO performed for cleaning buffers in VM system. Another feature is the ability to resize compressed cache on demand. The compressed cache starts with a minimum set of reserved pages and grows to a maximum size which is set at the boot time. As soon as the compressed cache is not need by the system, it shrinks. LZO compression algorithm is back. And compression algorithm can be selected, besides the sysctl entry, also by a kernel parameter (compalg=). Thus, "compalg=0" selects WKdm, "compalg=1" picks WK4x4 and "compalg=2" chooses LZO. Compressed cache memory is correctly accounted in /proc/meminfo, so "free" program shows the correct amount of memory for each cache (notably when page cache support is enabled). The meminfo proc entry also displays how much memory is reserved for compressed cache and how much memory is effectively used. Some work on adaptivity has been done, but it was discarded since it resulted in non-functional code. More details can be checked below with the logs for every pre version. Note: There are some remaining bugs which affects stability on some systems. We will try to fix them asap. Notes ----- http://sourceforge.net/project/shownotes.php?release_id=99282 Download -------- http://prdownloads.sourceforge.net/linuxcompressed/patch-comp-cache-2.4.18-0.23.bz2?download Direct Link http://west.dl.sourceforge.net/sourceforge/linuxcompressed/patch-comp-cache-2.4.18-0.23.bz2 -- Rodrigo S. de Castro <rc...@im...> |