LinuxMM:

[:NitinGupta:Nitin Gupta]

MailTo(nitingupta.mail AT gmail DOT com)


The code is presently very raw but its helping me getting more experience with VMM code and how things are to be done :)


Kernel changes to support Compressed Caching:


Compression algorithms to kernel mode:

WKdm de/compression algorithm: 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, two algos are ported - LZO and WKdm (WK4x4 also soon). You can test both of them using this module. It creates 3 /proc entries: /proc/compress-test/{compress, decompress, algo_idx}.


In short:

Write to /proc/compress-test entries:

1. compress: compress data witten to it and store in internal buffer.

2. algo_idx: write index of algo you want to test (0: WKdm, 1: LZO)

Read from /proc/compress-test entries:

1. compress: show original and compressed size (TODO: add other stats like time taken too)

2. decompress: decompress compressed data stored in internal buffer. 3. algo_idx: shows list of algos supported with their index.


Also commited these two algos to CVS in linux26/lib/{WKdm, LZO}

This module makes it easy to test algotithm by simply comparing original file with /proc/decompress output and statistics can be obtained by reading /proc/compress. This module will serve as simple test-bed when porting other important de/compression algorithms w.r.t compressed caching (WKdm, WK4x4, LZO).

LinuxMM: CompressedCaching/Code (last edited 2006-06-09 02:57:19 by triband-del-59)