From: Nitin Gupta <ngupta@vflare.org>
To: Pekka Enberg <penberg@cs.helsinki.fi>,
Christoph Lameter <cl@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org
Subject: [PATCH 3/3] compcache documentation
Date: Fri, 20 Mar 2009 19:44:08 +0530 [thread overview]
Message-ID: <49C3A4B0.3050503@vflare.org> (raw)
In-Reply-To: <49C3A31D.6070208@vflare.org>
Documentation/blockdev/compcache.txt | 67 ++++++++++++++++++++++++++++++++++
Documentation/kernel-parameters.txt | 9 +++++
init/Kconfig | 6 +++
3 files changed, 82 insertions(+), 0 deletions(-)
Documentation on how to use compcache module.
Signed-off-by: Nitin Gupta <ngupta@vflare.org>
---
diff --git a/Documentation/blockdev/compcache.txt b/Documentation/blockdev/compcache.txt
new file mode 100644
index 0000000..46c33a5
--- /dev/null
+++ b/Documentation/blockdev/compcache.txt
@@ -0,0 +1,67 @@
+compcache: Compressed RAM swap device
+-------------------------------------
+
+Project home: http://code.google.com/p/compcache/
+
+This module creates RAM based block device (named ramzswap0) which acts
+as swap disk. Pages swapped to this disk are compressed and stored in
+memory itself.
+
+It uses these components:
+ - xvMalloc: memory allocator (xvmalloc.ko)
+ - LZO1X: de/compressor: (lzo_compress.ko, lzo_decompress.ko)
+
+Usage:
+ - modprobe compcache [memlimit_kb=<val>|disksize_kb=<val>] [backing_dev=<dev>]
+
+ memlimit_kb: This param is applicable only when backing_dev is given.
+ It is limit on amount compressed data stored in memory. Any
+ additional data is forwarded to backing_dev. It cannot be greater
+ than backing device size. If missing or 0, default value is used:
+ 15% of RAM or backing device size, whichever is smaller.
+
+ disksize_kb: This param is applicable only when backing_dev is not given.
+ It is limit on amount of *uncompressed* worth of data stored in
+ memory. For e.g. disksize_kb=1024 means it can hold 1024kb worth of
+ uncompressed data even if this data compresses to just, say, 100kb.
+ If missing or 0, default value is used: 25% of RAM.
+
+ backing_dev: This is block device to be used as backing store for compcache.
+ It must be a valid swap partition. We move data to this device when we
+ encounter incompressible page or memlimit is reached. TODO: we may also
+ move some pages from compcache to this device in case system is really
+ low on memory.
+ This device is not directly visible to kernel as a swap device
+ (/proc/swaps will only show /dev/ramzswap0 and not this device).
+ Managing this backing device is the job of compcache module.
+
+Examples:
+ 1) modprobe compcache memlimit_kb=10240 backing_dev=/dev/sda2
+ sets compcache limit as 10MB and /dev/sda2 as backing swap device.
+ NOTE: here /dev/sda2 is a valid swap partition.
+
+ 2) modprobe compcache backing_dev=/dev/sda2
+ same as (1) but memlimit is set to default: 15% of RAM or size of
+ backing swap device, whichever is smaller.
+
+ 3) modprobe compcache disksize_kb=10240
+ sets compcache disk size as 10MB.
+
+ 4) modprobe compcache.ko
+ same as (3) but compcache disk size will be set to default:
+ 25% of RAM size.
+
+ Once module is loaded, activate this swap with highest priority:
+ swapon /dev/ramzswap0 -p 100
+ (-p param set swap priority)
+
+Notes:
+ - compcache stats are exported via /proc/compcache
+ - If you give non-swap partition as backing_dev, nothing bad will happen -
+ swapon will simply fail to recognize /dev/ramzswap0 as swap partition.
+ So, in this case, unload the module and reload with correct backing_dev.
+
+Please report any problems to:
+
+Nitin Gupta
+ngupta@vflare.org
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 54f21a5..a23f0ae 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -414,6 +414,15 @@ and is between 256 and 4096 characters. It is defined in the file
possible to determine what the correct size should be.
This option provides an override for these situations.
+ compcache.memlimit_kb=
+ See Documentation/blockdev/compcache.txt.
+
+ compcache.disksize_kb=
+ See Documentation/blockdev/compcache.txt.
+
+ compcache.backing_dev=
+ See Documentation/blockdev/compcache.txt.
+
security= [SECURITY] Choose a security module to enable at boot.
If this boot parameter is not specified, only the first
security module asking for security registration will be
diff --git a/init/Kconfig b/init/Kconfig
index 6a5c5fe..fa41598 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -930,6 +930,12 @@ config SLOB
endchoice
+config XVMALLOC
+ tristate "xvMalloc memory allocator"
+ help
+ This is a simple, low fragmentation, O(1) allocator.
+ Details: http://code.google.com/p/compcache/wiki/xvMalloc
+
config PROFILING
bool "Profiling support (EXPERIMENTAL)"
help
next prev parent reply other threads:[~2009-03-20 14:15 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-20 14:07 [PATCH 0/3] compressed in-memory swapping take2 Nitin Gupta
2009-03-20 14:10 ` [PATCH 1/3] compressed RAM block device Nitin Gupta
2009-03-20 14:12 ` [PATCH 2/3] xvmalloc memory allocator Nitin Gupta
2009-03-20 14:57 ` Christoph Lameter
2009-03-20 16:24 ` Nitin Gupta
2009-03-20 17:40 ` Christoph Lameter
2009-03-20 19:01 ` Pekka Enberg
2009-03-20 19:43 ` Nitin Gupta
2009-03-21 10:21 ` Andrew Morton
2009-03-21 12:12 ` Nitin Gupta
2009-03-21 12:24 ` Andrew Morton
2009-03-21 13:14 ` Nitin Gupta
2009-03-21 16:21 ` Pekka Enberg
2009-03-21 17:36 ` Nitin Gupta
2009-03-20 14:14 ` Nitin Gupta [this message]
2009-03-21 10:26 ` [PATCH 3/3] compcache documentation Andrew Morton
2009-03-21 12:31 ` Nitin Gupta
2009-03-21 12:55 ` Andrew Morton
-- strict thread matches above, loose matches on Subject: below --
2008-04-08 9:29 [PATCH 0/3] compcache: compressed caching v2 Nitin Gupta
2008-04-08 9:36 ` [PATCH 3/3] compcache: documentation Nitin Gupta
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=49C3A4B0.3050503@vflare.org \
--to=ngupta@vflare.org \
--cc=cl@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=penberg@cs.helsinki.fi \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.