public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] compcache: compressed caching v2
@ 2008-04-08  9:29 Nitin Gupta
  2008-04-08  9:31 ` [PATCH 1/3] compcache: RAM based block device Nitin Gupta
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Nitin Gupta @ 2008-04-08  9:29 UTC (permalink / raw)
  To: linux-kernel; +Cc: linux-mm

Hi All,

(This revision contains all changes suggested in initial review).

This implements a RAM based block device which acts as swap disk.
Pages swapped to this disk are compressed and stored in memory itself.
This allows more applications to fit in given amount of memory. This is
especially useful for embedded devices, OLPC and small desktops
(aka virtual machines).

Project home: http://code.google.com/p/compcache/

It consists of following components:
- compcache.ko: Creates RAM based block device
- tlsf.ko: Two Level Segregate Fit (TLSF) allocator
- LZO de/compressor: (Already in mainline)

Project home contains some performance numbers for TLSF and LZO.
For general desktop use, this is giving *significant* performance gain
under memory pressure. For now, it has been tested on x86 and x86_64.

Thanks,
Nitin

^ permalink raw reply	[flat|nested] 8+ messages in thread
* [PATCH 0/3] compressed in-memory swapping take2
@ 2009-03-20 14:07 Nitin Gupta
  2009-03-20 14:14 ` [PATCH 3/3] compcache documentation Nitin Gupta
  0 siblings, 1 reply; 8+ messages in thread
From: Nitin Gupta @ 2009-03-20 14:07 UTC (permalink / raw)
  To: Pekka Enberg, Christoph Lameter; +Cc: linux-kernel

Hi,

It allows creating a RAM based block device which acts as swap disk.
Pages swapped to this device are compressed and stored in memory itself.
This is a big win over swapping to slow hard-disk which are typically used
as swap disk. For flash, these suffer from wear-leveling issues when used
as swap disk - so again its helpful. For swapless systems, it allows more
apps to run.

* Changelog: take2 vs initial revision:
xvmalloc changes:
  - Use Linux kernel coding sytle for xvmalloc
  - Collapse all individual flag test/set/get to generic {test_set_get}_flag
  - Added BLOCK_NEXT() macro to reach next contiguous block
  - Other minor cleanups - no functional changes
compcache block device code:
  - compcache core changes due to change in xvmalloc interface names

Links to performance numbers, use cases can be found in original thread:
http://lkml.org/lkml/2009/3/17/116

Thanks to Christoph and Pekka for feedback on initial revision.

Thanks,
Nitin

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2009-03-21 13:01 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-08  9:29 [PATCH 0/3] compcache: compressed caching v2 Nitin Gupta
2008-04-08  9:31 ` [PATCH 1/3] compcache: RAM based block device Nitin Gupta
2008-04-08  9:35 ` [PATCH 2/3] compcache: TLSF Allocator Nitin Gupta
2008-04-08  9:36 ` [PATCH 3/3] compcache: documentation Nitin Gupta
  -- strict thread matches above, loose matches on Subject: below --
2009-03-20 14:07 [PATCH 0/3] compressed in-memory swapping take2 Nitin Gupta
2009-03-20 14:14 ` [PATCH 3/3] compcache documentation Nitin Gupta
2009-03-21 10:26   ` Andrew Morton
2009-03-21 12:31     ` Nitin Gupta
2009-03-21 12:55       ` Andrew Morton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox