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
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.