Messages in this thread | | | Date | Tue, 25 Aug 2009 23:41:06 +0530 | From | Nitin Gupta <> | Subject | Re: [PATCH 4/4] compcache: documentation |
| |
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
| |