> Here's kmalloc_percpu interfaces ported (...mostly rediffed) to
> 2.5.45. (One last try for 2.6).
IMHO this is a "when we need it" patch. Baby steps...
> +#define this_cpu_ptr(ptr) per_cpu_ptr(ptr, smp_processor_id())
Probably want a get_cpu_ptr() & put_cpu_ptr() using get_cpu() and put_cpu()
(and this would become __get_cpu_ptr()).
And probably move them all to linux/percpu.h.
> +extern void *kmalloc_percpu(size_t size, int flags);
> +extern void kfree_percpu(const void *);
> +extern int percpu_interlaced_alloc(struct percpu_data *, size_t, int);
> +extern void percpu_interlaced_free(struct percpu_data *);
> +extern void percpu_data_sys_init(void);
Hmm... It'd be nice to remove these three from the header so that the
interface is clear (which may mean exposing some slab.c internals so
you can access them in mm/percpu_data.c).
> + if(!blklist->cachep)
A space between the "if" and the "(" is traditional.
Cheers,
Rusty.
-- there are those who do and those who hang on and you don't see too many doers quoting their contemporaries. -- Larry McVoy - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/