Re: linux+glibc memory allocator, poor performance

From: Al Viro
Date: Wed Mar 12 2008 - 17:33:16 EST


On Wed, Mar 12, 2008 at 05:22:21PM -0400, Rik van Riel wrote:
> 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.

ITYM a little before 2.4.0, and even prior to that it hadn't been under BKL.
--
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/