* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: slab: fix object alignment slub: add missing __percpu markup in mm/slub_def.h
Unified · Split
| @@ -68,7 +68,7 @@ struct kmem_cache_order_objects { · 67 unmodified lines | ||
| 68 | 68 | * Slab cache management. |
| 69 | 69 | */ |
| 70 | 70 | struct kmem_cache { |
| 71 | − struct kmem_cache_cpu *cpu_slab; | |
| 71 | + struct kmem_cache_cpu __percpu *cpu_slab; | |
| 72 | 72 | /* Used for retriving partial slabs etc */ |
| 73 | 73 | unsigned long flags; |
| 74 | 74 | int size; /* The size of an object including meta data */ |
| @@ -2330,8 +2330,8 @@ kmem_cache_create (const char *name, size_t size, size_t align, · 2329 unmodified lines | ||
| 2330 | 2330 | } |
| 2331 | 2331 | #if FORCED_DEBUG && defined(CONFIG_DEBUG_PAGEALLOC) |
| 2332 | 2332 | if (size >= malloc_sizes[INDEX_L3 + 1].cs_size |
| 2333 | − && cachep->obj_size > cache_line_size() && size < PAGE_SIZE) { | |
| 2334 | − cachep->obj_offset += PAGE_SIZE - size; | |
| 2333 | + && cachep->obj_size > cache_line_size() && ALIGN(size, align) < PAGE_SIZE) { | |
| 2334 | + cachep->obj_offset += PAGE_SIZE - ALIGN(size, align); | |
| 2335 | 2335 | size = PAGE_SIZE; |
| 2336 | 2336 | } |
| 2337 | 2337 | #endif |