[:NitinGupta:Nitin Gupta]
MailTo(nitingupta910 AT gmail DOT com)
- This page contains some prototype code developed for CompressedCaching project. After seriously insufficient testing, each of these components were eventually merged into final implementation on 2.6.x kernels.
| [http://linuxcompressed.sourceforge.net/ Project Home Page] | CompressedCaching | [http://sourceforge.net/project/showfiles.php?group_id=13472 Patches] |
Compression algorithms to kernel mode:
Kernel module to test de/compression algorithms (WKdm, WK4x4, LZO): attachment:compress-test.tar.gz
There are basically three main algorithms that are well studied w.r.t compressed caching by previous works -- WKdm, WK4x4, LZO.
Of these, WKdm, WK4x4 are designed to handle anon pages (non filesystem pages) while LZO is more suitable for filesystem data. (Also, in general, compression speed is in order: WKdm > WK4x4 > LZO, while compression factor order is, in general, reverse).
Now, all three algos are ported to kernel space - WKdm, WK4x4 and LZO. You can test them all using this module. It creates 3 /proc entries: /proc/compress-test/{compress, decompress, algo_idx} as described below: (for some detail see README with this module)
In short:
Write to /proc/compress-test entries:
compress: compress data witten to it and store in internal buffer.
algo_idx: write index of algo you want to test (0: WKdm, 1: WK4x4, 2: LZO)
Read from /proc/compress-test entries:
compress: show original and compressed size (TODO: add other stats like time taken too)
decompress: decompress compressed data stored in internal buffer.
algo_idx: shows list of algos supported with their index.
