Messages in this thread | | | Date | Wed, 12 Mar 2008 17:22:21 -0400 | From | Rik van Riel <> | Subject | Re: linux+glibc memory allocator, poor performance |
| |
On Wed, 12 Mar 2008 21:09:04 +0100 "J.C. Pizarro" <jcpiza@gmail.com> 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.
| |