Messages in this thread | | | Date | Sat, 23 Feb 2008 00:04:48 -0800 | From | Andrew Morton <> | Subject | Re: [PATCH] alloc_percpu() fails to allocate percpu data |
| |
On Thu, 21 Feb 2008 19:00:03 +0100 Eric Dumazet <dada1@cosmosbay.com> 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.
| |