kernel BUG in __cache_alloc_node at linux-2.6.git/mm/slab.c:3177!

Christoph Lameter clameter at sgi.com
Fri Oct 20 04:07:13 EST 2006


On Thu, 19 Oct 2006, Christoph Lameter wrote:

> I would expect this patch to fix your issues. This will allow fallback 
> allocations to occur in the page allocator during slab bootstrap. This 
> means your per node queues will be contaminated as they were before. After 
> the slab allocator is fully booted then the per node queues will become 
> gradually become node clean.

Forgot to mention the results of this contamination: The bootstrap process 
exercises fine control over data structures to place them in such a way 
that the slab allocator can perform optimally. F.e. data structures are 
placed in such a way on nodes that a kmalloc does not need a single off 
node reference.

The contamination will disrupt this placement. The slab believes that 
memory is from a different node than were it actually came from. As a 
result key data structures (such as cpucache descriptors) are placed 
on the wrong node. kmalloc and other slab operations may require
off node allocations for every call. Depending on the NUMA factor this may 
have a significant influence on overall system performance (We have 
measured this effect to cause a drop of 20% in AIM7 performance!).

In addition to this stuff, I am right now dealing with huge page 
fault serialization (introduced to safely support DB2) and sparsemem 
continually causing nested table lookups in fundamental vm operations. All 
work of IBM people. Not interested in performance at all?



More information about the Linuxppc-dev mailing list