LinuxMM:

[:NitinGupta:Nitin Gupta]

MailTo(nitingupta.mail AT gmail DOT com)


This page contains list of patches and other relatd code as it is being developed for Compressed Caching (for 2.6.x kernels) project. You can always find most up-to-date code at Project Git repository (git://dev.laptop.org/projects/linux-mm-cc).


[http://linuxcompressed.sourceforge.net/ Project Home Page]

CompressedCaching

[http://dev.laptop.org/git.do?p=projects/linux-mm-cc;a=summary Git (WebView)]

Kernel changes to support Compressed Caching:

(These are old patches kept here for reference. Much water has passed since then. For most up-to-date code checkout the Git repository).


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:

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: WK4x4, 2: 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 all these algos to GIT repo: git://dev.laptop.org/projects/linux-mm-cc


Compression Structure Implementation:

attachment:storage-test.tar.gz : This module implements compression structure as described on CompressedCaching.

Please see README for usage.

In short:

Interface is via /proc:

/proc/storage-test/{readpage, writepage, show_structure}

1. writepage: write a page on this to compress and store it in ccache.

2. readpage: write 'id' (see README) of page you want.

3. show_structure: read to show current snapshot of ccache storage.


LinuxMM: CompressedCaching/Code (last edited 2006-09-13 08:55:36 by triband-del-59)