[lkml]   [2007]   [Nov]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [patch 01/28] cpu alloc: The allocator
From: Christoph Lameter <>
Date: Tue, 06 Nov 2007 11:51:45 -0800

> The core portion of the cpu allocator.
> The per cpu allocator allows dynamic allocation of memory on all
> processor simultaneously. A bitmap is used to track used areas.
> The allocator implements tight packing to reduce the cache footprint
> and increase speed since cacheline contention is typically not a concern
> for memory mainly used by a single cpu. Small objects will fill up gaps
> left by larger allocations that required alignments.
> Signed-off-by: Christoph Lameter <>

Unfortunately, sparc64 fails to boot even with just this patch

The problem is that for the non-virtualized case this patch bloats up
the BSS section to be more than 8MB in size. Sparc64 kernel images
cannot be more than 8MB in size total due to various boot loader and
firmware limitations.

I have NR_CPUS set to 64, but it can be up to 4096 on sparc64.

Yes, I could add virtualized area support to sparc64, but we cannot
impose this on every platform.

One thing you could do is simply use a vmalloc allocation in the
non-virtualized case.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2007-11-13 12:17    [W:0.163 / U:3.288 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site