Re: linux+glibc memory allocator, poor performance

From: Rik van Riel
Date: Wed Mar 12 2008 - 17:22:40 EST


On Wed, 12 Mar 2008 21:09:04 +0100
"J.C. Pizarro" <jcpiza@xxxxxxxxx> wrote:

> Assume a SMP system that has 8 CPUs. The main problem of requesting
> pages is the BKL (Big Kernel Lock) in this SMP system used for mutual
> exclusion of the shared resource (the memory).
>
> To solve this major problem, i propose you freely to allocate 8 local caches
> of (e.g.) 2 MiB each CPU (total 2MiB x 8 CPUs = 16 MiB) acting as
> 8 producer buffers for globally many consumer tasks (e.g. >= 20).
>
> When the some producer buffer is empty then it does unfrequently BKL to
> allocate another 2 MiB more from the shared resource (the memory).

You really should read the source code before proposing ideas.

The kernel has done roughly what you describe since a little before
2.6.0.

--
All rights reversed.
--
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/