Re: [PATCH 06/10] percpu: kill percpu_alloc() and friends
From: Tony Luck
Date: Wed Mar 11 2009 - 14:37:15 EST
On Wed, Feb 18, 2009 at 5:04 AM, Tejun Heo <tj@xxxxxxxxxx> wrote:
> +static inline void *__alloc_percpu(size_t size, size_t align)
> {
> + /*
> + * Can't easily make larger alignment work with kmalloc. WARN
> + * on it. Larger alignment should only be used for module
> + * percpu sections on SMP for which this path isn't used.
> + */
> + WARN_ON_ONCE(align > __alignof__(unsigned long long));
> return kzalloc(size, gfp);
> }
This WARN_ON just pinged for me when I built & ran linux-next tag next-20090311
Stack trace from the WARN_ON pointed to __create_workqueue_key() which
does:
wq->cpu_wq = alloc_percpu(struct cpu_workqueue_struct);
and the cpu_workqueue_struct is defined as ____cacheline_aligned
I hit this on ia64, but all this code looks generic.
-Tony
--
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/