Re: [PATCH 4/4] compcache: documentation

From: Nitin Gupta
Date: Tue Aug 25 2009 - 14:11:48 EST


On 08/25/2009 10:33 PM, Balbir Singh wrote:


+It consists of three modules:
+ - xvmalloc.ko: memory allocator

I've seen your case for a custom allocator, but why can't we

1) Refactor slob and use it

SLOB is fundamentally a different allocator. It looked at it in detail
but could not image how can I make it suitable for the project. SLOB
really does not fit it.

2) Do we care about the optimizations in SLUB w.r.t. scalability in
your module? If so.. will xvmalloc meet those requirements?


Scalability is desired which xvmalloc lacks in its current state. My
plan is to have a wrapper around xvmalloc that creates per-cpu pools
and leave xvmalloc core simple. Along with this, detailed profiling
needs to be done to see where the bottlenecks are in the core itself.



What level of compression have you observed? Any speed trade-offs?


All the performance numbers can be found at:
http://code.google.com/p/compcache/wiki/Performance

I also summarized these in patch [0/4]:
http://lkml.org/lkml/2009/8/24/8

The compression ratio is highly workload dependent. On "generic" desktop
workload, stats show:
- ~80% of pages compressing to PAGE_SIZE/2 or less.
- ~1% incompressible pages.


For the speed part, please refer to performance numbers at link above.
It show cases where it help or hurts the performance.

Thanks,
Nitin


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/