Messages in this thread | | | Subject | Re: [patch 3/4] cpu alloc: The allocator | From | Pekka Enberg <> | Date | Tue, 30 Sep 2008 09:35:59 +0300 |
| |
On Mon, 2008-09-29 at 12:35 -0700, Christoph Lameter wrote: > Index: linux-2.6/mm/cpu_alloc.c > =================================================================== > --- /dev/null 1970-01-01 00:00:00.000000000 +0000 > +++ linux-2.6/mm/cpu_alloc.c 2008-09-29 13:09:33.000000000 -0500 > @@ -0,0 +1,185 @@ > +/* > + * Cpu allocator - Manage objects allocated for each processor > + * > + * (C) 2008 SGI, Christoph Lameter <cl@linux-foundation.org> > + * Basic implementation with allocation and free from a dedicated per > + * cpu area. > + * > + * The per cpu allocator allows a dynamic allocation of a piece of memory on > + * every processor. 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. > + */ > +#include <linux/mm.h> > +#include <linux/mmzone.h> > +#include <linux/module.h> > +#include <linux/percpu.h> > +#include <linux/bitmap.h> > +#include <asm/sections.h> > +#include <linux/bootmem.h> > + > +/* > + * Basic allocation unit. A bit map is created to track the use of each > + * UNIT_SIZE element in the cpu area. > + */ > +#define UNIT_TYPE int > +#define UNIT_SIZE sizeof(UNIT_TYPE) > + > +int units; /* Actual available units */
What is this thing? Otherwise looks good to me.
| |