Messages in this thread | | | Date | Wed, 12 Mar 2008 21:32:55 +0000 | From | Al Viro <> | Subject | Re: linux+glibc memory allocator, poor performance |
| |
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@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.
ITYM a little before 2.4.0, and even prior to that it hadn't been under BKL.
| |