lkml.org 
[lkml]   [2006]   [Aug]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 1/1] network memory allocator.
On Mon, Aug 14, 2006 at 01:40:21PM +0200, Andi Kleen (ak@suse.de) wrote:
> Evgeniy Polyakov <johnpol@2ka.mipt.ru> writes:
>
> > Design notes.
> > Original idea was to store meta information used for allocation in an
> > AVL tree [1], but since I found a way to use some "unused" fields in struct page,
> > tree is unused in the allocator.
>
> But there seems to be still an AVL tree in there?

Yep.
Tree structure can be used for simpler memory addon/removal from
hotplug, but I have not that in mind.
It will be removed soon.

> > Benchmarks with trivial epoll based web server showed noticeble (more
> > than 40%) imrovements of the request rates (1600-1800 requests per
> > second vs. more than 2300 ones). It can be described by more
> > cache-friendly freeing algorithm, by tighter objects packing and thus
> > reduced cache line ping-pongs, reduced lookups into higher-layer caches
> > and so on.
>
> So what are its drawbacks compared to slab/kmalloc?

Hmm... Bigger per-page overhead (additional bitmask of free/used
objects). More complex algorithm behind freeing.

> Also if it really performs that much better it might be a good
> idea to replace all of kmalloc() with it, but doing that
> would require a lot more benchmarks with various workloads
> and small and big machines first.

First user can be MMU-less systems which suffer noticebly from
fragmentations and power-of-two overhead.

> -Andi

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

\
 
 \ /
  Last update: 2006-08-14 13:49    [W:0.215 / U:0.352 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site