Re: [PATCH] alloc_percpu() fails to allocate percpu data
From: Andrew Morton
Date: Sat Feb 23 2008 - 03:23:42 EST
On Thu, 21 Feb 2008 19:00:03 +0100 Eric Dumazet <dada1@xxxxxxxxxxxxx> wrote:
> +#ifndef cache_line_size
> +#define cache_line_size() L1_CACHE_BYTES
> +#endif
argh, you made me look.
Really cache_line_size() should be implemented in include/linux/cache.h.
Then we tromp the stupid private implementations in slob.c and slub.c.
Then we wonder why x86 uses a custom cache_line_size(), but still uses
L1_CACHE_BYTES for its L1_CACHE_ALIGN().
Once we've answered that, we look at your
+ /*
+ * We should make sure each CPU gets private memory.
+ */
+ size = roundup(size, cache_line_size());
and wonder whether it should have used L1_CACHE_ALIGN().
I think I'd better stop looking.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/