From: Nitin Gupta <nitingupta910@gmail.com>
To: Christoph Lameter <cl@linux-foundation.org>,
Andrew Morton <akpm@linux-foundation.org>,
Pekka Enberg <penberg@cs.helsinki.fi>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: [PATCH 3/3] ramzswap documentation
Date: Wed, 25 Mar 2009 00:48:29 +0530 [thread overview]
Message-ID: <49C93205.2040209@vflare.org> (raw)
In-Reply-To: <49C92E14.5060802@vflare.org>
Documentation/blockdev/00-INDEX | 2 +
Documentation/blockdev/ramzswap.txt | 67 +++++++++++++++++++++++++++++++++++
Documentation/kernel-parameters.txt | 9 +++++
3 files changed, 78 insertions(+), 0 deletions(-)
Documentation on how to use ramzswap module.
Signed-off-by: Nitin Gupta <ngupta@vflare.org>
---
diff --git a/Documentation/blockdev/00-INDEX b/Documentation/blockdev/00-INDEX
index 86f054c..8751488 100644
--- a/Documentation/blockdev/00-INDEX
+++ b/Documentation/blockdev/00-INDEX
@@ -4,6 +4,8 @@ README.DAC960
- info on Mylex DAC960/DAC1100 PCI RAID Controller Driver for Linux.
cciss.txt
- info, major/minor #'s for Compaq's SMART Array Controllers.
+ramzswap.txt
+ - short guide on how to setup compressed RAM swap device.
cpqarray.txt
- info on using Compaq's SMART2 Intelligent Disk Array Controllers.
floppy.txt
diff --git a/Documentation/blockdev/ramzswap.txt b/Documentation/blockdev/ramzswap.txt
new file mode 100644
index 0000000..11d48fb
--- /dev/null
+++ b/Documentation/blockdev/ramzswap.txt
@@ -0,0 +1,67 @@
+ramzswap: 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 ramzswap [memlimit_kb=<val>|disksize_kb=<val>] [backing_swap=<dev>]
+
+ memlimit_kb: This param is applicable only when backing_swap is given.
+ It is limit on amount compressed data stored in memory. Any
+ additional data is forwarded to backing_swap. 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_swap 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_swap: This is block device to be used as backing store for ramzswap.
+ 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 ramzswap 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 ramzswap module.
+
+Examples:
+ 1) modprobe ramzswap memlimit_kb=10240 backing_swap=/dev/sda2
+ sets ramzswap limit as 10MB and /dev/sda2 as backing swap device.
+ NOTE: here /dev/sda2 is a valid swap partition.
+
+ 2) modprobe ramzswap backing_swap=/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 ramzswap disksize_kb=10240
+ sets ramzswap disk size as 10MB.
+
+ 4) modprobe ramzswap.ko
+ same as (3) but ramzswap 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:
+ - ramzswap stats are exported via /proc/ramzswap
+ - If you give non-swap partition as backing_swap, 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_swap.
+
+Please report any problems to:
+
+Nitin Gupta
+ngupta@vflare.org
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 54f21a5..90c0d87 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.
+ ramzswap.memlimit_kb=
+ See Documentation/blockdev/ramzswap.txt.
+
+ ramzswap.disksize_kb=
+ See Documentation/blockdev/ramzswap.txt.
+
+ ramzswap.backing_swap=
+ See Documentation/blockdev/ramzswap.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
next prev parent reply other threads:[~2009-03-24 19:22 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-24 19:01 [PATCH 0/3] compressed in-memory swapping take3 Nitin Gupta
2009-03-24 19:11 ` [PATCH 1/3] xvmalloc memory allocator Nitin Gupta
2009-03-24 19:15 ` [PATCH 2/3] compressed RAM block device Nitin Gupta
2009-03-24 19:18 ` Nitin Gupta [this message]
2009-03-25 10:39 ` [PATCH 0/3] compressed in-memory swapping take3 Nitin Gupta
2009-03-27 1:03 ` Ed Tomlinson
2009-03-27 20:39 ` Nitin Gupta
-- strict thread matches above, loose matches on Subject: below --
2009-03-29 3:43 [PATCH 0/3] compressed in-memory swapping take4 Nitin Gupta
2009-03-29 3:53 ` [PATCH 3/3] ramzswap documentation Nitin Gupta
2009-03-30 14:48 [PATCH 0/3] compressed in-memory swapping take5 Nitin Gupta
2009-03-30 14:54 ` [PATCH 3/3] ramzswap 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=49C93205.2040209@vflare.org \
--to=nitingupta910@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=cl@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=ngupta@vflare.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.