2008-06-04 15:04:34

by Mike Travis

[permalink] [raw]
Subject: Re: [patch 02/41] cpu alloc: The allocator

Rusty Russell wrote:
> On Friday 30 May 2008 13:56:22 Christoph Lameter wrote:
>> The per cpu allocator allows dynamic allocation of memory on all
>> processors 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.
>
> Allocator seems nice and simple, similar to existing one in module.c (which
> predates cool bitmap operators).
>
> Being able to do per-cpu allocations in an interrupt handler seems like
> encouraging a Bad Idea though: I'd be tempted to avoid the flags word, always
> zero, and use a mutex instead of a spinlock.
>
> Cheers,
> Rusty.

I haven't seen any further discussion on these aspects... is there a consensus
to remove the flags from CPU_ALLOC() and use a mutex?

Thanks,
Mike


2008-06-10 17:34:20

by Christoph Lameter

[permalink] [raw]
Subject: Re: [patch 02/41] cpu alloc: The allocator

On Wed, 4 Jun 2008, Mike Travis wrote:

> I haven't seen any further discussion on these aspects... is there a consensus
> to remove the flags from CPU_ALLOC() and use a mutex?

We want to have extensable per cpu areas. This means you need an
allocation context. So we need to keep the flags. Mutex is not a bad idea.