diff options
author | Tejun Heo <tj@kernel.org> | 2009-02-25 20:54:17 -0500 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2009-02-25 20:54:17 -0500 |
commit | e317603694bfd17b28a40de9d65e1a4ec12f816e (patch) | |
tree | ae286d9e1ae9ffacdd325ea76cd1d9ee88032efc | |
parent | d2b0261506602bd969164879206027b30358ffdf (diff) |
percpu: fix too low alignment restriction on UP
UP __alloc_percpu() triggered WARN_ON_ONCE() if the requested
alignment is larger than that of unsigned long long, which is too
small for all the cacheline aligned allocations. Bump it up to
SMP_CACHE_BYTES which kmalloc allocations generally guarantee.
Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r-- | include/linux/percpu.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/percpu.h b/include/linux/percpu.h index d8e5a9abbce0..545b068bcb70 100644 --- a/include/linux/percpu.h +++ b/include/linux/percpu.h | |||
@@ -156,7 +156,7 @@ static inline void *__alloc_percpu(size_t size, size_t align) | |||
156 | * on it. Larger alignment should only be used for module | 156 | * on it. Larger alignment should only be used for module |
157 | * percpu sections on SMP for which this path isn't used. | 157 | * percpu sections on SMP for which this path isn't used. |
158 | */ | 158 | */ |
159 | WARN_ON_ONCE(align > __alignof__(unsigned long long)); | 159 | WARN_ON_ONCE(align > SMP_CACHE_BYTES); |
160 | return kzalloc(size, GFP_KERNEL); | 160 | return kzalloc(size, GFP_KERNEL); |
161 | } | 161 | } |
162 | 162 | ||