WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [RFC] Replacing Xen's xmalloc engine and(?) API

To: Nitin Gupta <nitingupta910@xxxxxxxxx>, Dan Magenheimer <dan.magenheimer@xxxxxxxxxx>
Subject: Re: [Xen-devel] [RFC] Replacing Xen's xmalloc engine and(?) API
From: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Date: Sun, 12 Oct 2008 18:55:15 +0100
Cc: Diwaker Gupta <dgupta@xxxxxxxxxxx>, kurt.hackel@xxxxxxxxxx, "Xen-Devel \(E-mail\)" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Sun, 12 Oct 2008 10:55:28 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4cefeab80810121044j44687af3s78574b41c7a9ab04@xxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Acksk64h7LYWFpiGEd22twAWy6hiGQ==
Thread-topic: [Xen-devel] [RFC] Replacing Xen's xmalloc engine and(?) API
User-agent: Microsoft-Entourage/11.4.0.080122
On 12/10/08 18:44, "Nitin Gupta" <nitingupta910@xxxxxxxxx> wrote:

>> I'm no slab/slub expert but I think the interface only works
>> well with fixed-size objects and when several of the fixed-size
>> objects can be crammed into a single page.  I have a large set
>> of objects that are essentially random in size (but all less
>> than or equal to a page).
>> 
> 
> Using slab for your use case, which requires lot of allocations for
> near page-sized objects, is really bad idea. For memory compression
> project (compcache) I had very similar requirement. So, I tested
> kmalloc which uses slabs of various sizes to allocate various sizes.
> As expected its space efficiency was horrible. At least for compcache
> workload it used ~40% more memory than TLSF. Please refer:
> http://code.google.com/p/compcache/wiki/AllocatorsComparison

Yes, I was just going to reply to Dan's TLSF email to say that my default
plan for improving xmalloc() was going to be to implement a sub-page buddy
allocator or to port SLUB from Linux. Noth of these place metadata in the
page-info structure, but both would end up allocating power-of-two-sized
data blocks for random allocations of xmalloc(). The overheads of this --
for example if many allocations are just over 2048 bytes for example --
could be pretty nasty. I think TLSF sounds quite an intriquing alternative.

 -- Keir



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel