diff options
-rw-r--r-- | block/cfq-iosched.c | 6 | ||||
-rw-r--r-- | fs/aio.c | 6 | ||||
-rw-r--r-- | fs/bio.c | 3 | ||||
-rw-r--r-- | fs/dcache.c | 8 | ||||
-rw-r--r-- | include/linux/slab.h | 12 | ||||
-rw-r--r-- | kernel/delayacct.c | 6 | ||||
-rw-r--r-- | kernel/pid.c | 4 | ||||
-rw-r--r-- | kernel/signal.c | 6 | ||||
-rw-r--r-- | kernel/taskstats.c | 4 |
9 files changed, 23 insertions, 32 deletions
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index 64df3fa303b0..baef5fc7cff8 100644 --- a/block/cfq-iosched.c +++ b/block/cfq-iosched.c | |||
@@ -2090,13 +2090,11 @@ static void cfq_slab_kill(void) | |||
2090 | 2090 | ||
2091 | static int __init cfq_slab_setup(void) | 2091 | static int __init cfq_slab_setup(void) |
2092 | { | 2092 | { |
2093 | cfq_pool = kmem_cache_create("cfq_pool", sizeof(struct cfq_queue), 0, 0, | 2093 | cfq_pool = KMEM_CACHE(cfq_queue, 0); |
2094 | NULL, NULL); | ||
2095 | if (!cfq_pool) | 2094 | if (!cfq_pool) |
2096 | goto fail; | 2095 | goto fail; |
2097 | 2096 | ||
2098 | cfq_ioc_pool = kmem_cache_create("cfq_ioc_pool", | 2097 | cfq_ioc_pool = KMEM_CACHE(cfq_io_context, 0); |
2099 | sizeof(struct cfq_io_context), 0, 0, NULL, NULL); | ||
2100 | if (!cfq_ioc_pool) | 2098 | if (!cfq_ioc_pool) |
2101 | goto fail; | 2099 | goto fail; |
2102 | 2100 | ||
@@ -68,10 +68,8 @@ static void aio_queue_work(struct kioctx *); | |||
68 | */ | 68 | */ |
69 | static int __init aio_setup(void) | 69 | static int __init aio_setup(void) |
70 | { | 70 | { |
71 | kiocb_cachep = kmem_cache_create("kiocb", sizeof(struct kiocb), | 71 | kiocb_cachep = KMEM_CACHE(kiocb, SLAB_HWCACHE_ALIGN|SLAB_PANIC); |
72 | 0, SLAB_HWCACHE_ALIGN|SLAB_PANIC, NULL, NULL); | 72 | kioctx_cachep = KMEM_CACHE(kioctx,SLAB_HWCACHE_ALIGN|SLAB_PANIC); |
73 | kioctx_cachep = kmem_cache_create("kioctx", sizeof(struct kioctx), | ||
74 | 0, SLAB_HWCACHE_ALIGN|SLAB_PANIC, NULL, NULL); | ||
75 | 73 | ||
76 | aio_wq = create_workqueue("aio"); | 74 | aio_wq = create_workqueue("aio"); |
77 | 75 | ||
@@ -1193,8 +1193,7 @@ static void __init biovec_init_slabs(void) | |||
1193 | 1193 | ||
1194 | static int __init init_bio(void) | 1194 | static int __init init_bio(void) |
1195 | { | 1195 | { |
1196 | bio_slab = kmem_cache_create("bio", sizeof(struct bio), 0, | 1196 | bio_slab = KMEM_CACHE(bio, SLAB_HWCACHE_ALIGN|SLAB_PANIC); |
1197 | SLAB_HWCACHE_ALIGN|SLAB_PANIC, NULL, NULL); | ||
1198 | 1197 | ||
1199 | biovec_init_slabs(); | 1198 | biovec_init_slabs(); |
1200 | 1199 | ||
diff --git a/fs/dcache.c b/fs/dcache.c index d68631f18df1..d1bf5d8aeb5a 100644 --- a/fs/dcache.c +++ b/fs/dcache.c | |||
@@ -2052,12 +2052,8 @@ static void __init dcache_init(unsigned long mempages) | |||
2052 | * but it is probably not worth it because of the cache nature | 2052 | * but it is probably not worth it because of the cache nature |
2053 | * of the dcache. | 2053 | * of the dcache. |
2054 | */ | 2054 | */ |
2055 | dentry_cache = kmem_cache_create("dentry_cache", | 2055 | dentry_cache = KMEM_CACHE(dentry, |
2056 | sizeof(struct dentry), | 2056 | SLAB_RECLAIM_ACCOUNT|SLAB_PANIC|SLAB_MEM_SPREAD); |
2057 | 0, | ||
2058 | (SLAB_RECLAIM_ACCOUNT|SLAB_PANIC| | ||
2059 | SLAB_MEM_SPREAD), | ||
2060 | NULL, NULL); | ||
2061 | 2057 | ||
2062 | set_shrinker(DEFAULT_SEEKS, shrink_dcache_memory); | 2058 | set_shrinker(DEFAULT_SEEKS, shrink_dcache_memory); |
2063 | 2059 | ||
diff --git a/include/linux/slab.h b/include/linux/slab.h index a9befa50d3e3..e14b4c338b89 100644 --- a/include/linux/slab.h +++ b/include/linux/slab.h | |||
@@ -57,6 +57,18 @@ unsigned int kmem_cache_size(struct kmem_cache *); | |||
57 | const char *kmem_cache_name(struct kmem_cache *); | 57 | const char *kmem_cache_name(struct kmem_cache *); |
58 | int kmem_ptr_validate(struct kmem_cache *cachep, const void *ptr); | 58 | int kmem_ptr_validate(struct kmem_cache *cachep, const void *ptr); |
59 | 59 | ||
60 | /* | ||
61 | * Please use this macro to create slab caches. Simply specify the | ||
62 | * name of the structure and maybe some flags that are listed above. | ||
63 | * | ||
64 | * The alignment of the struct determines object alignment. If you | ||
65 | * f.e. add ____cacheline_aligned_in_smp to the struct declaration | ||
66 | * then the objects will be properly aligned in SMP configurations. | ||
67 | */ | ||
68 | #define KMEM_CACHE(__struct, __flags) kmem_cache_create(#__struct,\ | ||
69 | sizeof(struct __struct), __alignof__(struct __struct),\ | ||
70 | (__flags), NULL, NULL) | ||
71 | |||
60 | #ifdef CONFIG_NUMA | 72 | #ifdef CONFIG_NUMA |
61 | extern void *kmem_cache_alloc_node(struct kmem_cache *, gfp_t flags, int node); | 73 | extern void *kmem_cache_alloc_node(struct kmem_cache *, gfp_t flags, int node); |
62 | #else | 74 | #else |
diff --git a/kernel/delayacct.c b/kernel/delayacct.c index 766d5912b26a..c0148ae992c4 100644 --- a/kernel/delayacct.c +++ b/kernel/delayacct.c | |||
@@ -31,11 +31,7 @@ __setup("nodelayacct", delayacct_setup_disable); | |||
31 | 31 | ||
32 | void delayacct_init(void) | 32 | void delayacct_init(void) |
33 | { | 33 | { |
34 | delayacct_cache = kmem_cache_create("delayacct_cache", | 34 | delayacct_cache = KMEM_CACHE(task_delay_info, SLAB_PANIC); |
35 | sizeof(struct task_delay_info), | ||
36 | 0, | ||
37 | SLAB_PANIC, | ||
38 | NULL, NULL); | ||
39 | delayacct_tsk_init(&init_task); | 35 | delayacct_tsk_init(&init_task); |
40 | } | 36 | } |
41 | 37 | ||
diff --git a/kernel/pid.c b/kernel/pid.c index 78f2aee90f54..9c80bc23d6b8 100644 --- a/kernel/pid.c +++ b/kernel/pid.c | |||
@@ -412,7 +412,5 @@ void __init pidmap_init(void) | |||
412 | set_bit(0, init_pid_ns.pidmap[0].page); | 412 | set_bit(0, init_pid_ns.pidmap[0].page); |
413 | atomic_dec(&init_pid_ns.pidmap[0].nr_free); | 413 | atomic_dec(&init_pid_ns.pidmap[0].nr_free); |
414 | 414 | ||
415 | pid_cachep = kmem_cache_create("pid", sizeof(struct pid), | 415 | pid_cachep = KMEM_CACHE(pid, SLAB_PANIC); |
416 | __alignof__(struct pid), | ||
417 | SLAB_PANIC, NULL, NULL); | ||
418 | } | 416 | } |
diff --git a/kernel/signal.c b/kernel/signal.c index 3670225ecbc0..2b4087d545a3 100644 --- a/kernel/signal.c +++ b/kernel/signal.c | |||
@@ -2636,9 +2636,5 @@ __attribute__((weak)) const char *arch_vma_name(struct vm_area_struct *vma) | |||
2636 | 2636 | ||
2637 | void __init signals_init(void) | 2637 | void __init signals_init(void) |
2638 | { | 2638 | { |
2639 | sigqueue_cachep = | 2639 | sigqueue_cachep = KMEM_CACHE(sigqueue, SLAB_PANIC); |
2640 | kmem_cache_create("sigqueue", | ||
2641 | sizeof(struct sigqueue), | ||
2642 | __alignof__(struct sigqueue), | ||
2643 | SLAB_PANIC, NULL, NULL); | ||
2644 | } | 2640 | } |
diff --git a/kernel/taskstats.c b/kernel/taskstats.c index ad7d2392cb0e..906cae771585 100644 --- a/kernel/taskstats.c +++ b/kernel/taskstats.c | |||
@@ -524,9 +524,7 @@ void __init taskstats_init_early(void) | |||
524 | { | 524 | { |
525 | unsigned int i; | 525 | unsigned int i; |
526 | 526 | ||
527 | taskstats_cache = kmem_cache_create("taskstats_cache", | 527 | taskstats_cache = KMEM_CACHE(taskstats, SLAB_PANIC); |
528 | sizeof(struct taskstats), | ||
529 | 0, SLAB_PANIC, NULL, NULL); | ||
530 | for_each_possible_cpu(i) { | 528 | for_each_possible_cpu(i) { |
531 | INIT_LIST_HEAD(&(per_cpu(listener_array, i).list)); | 529 | INIT_LIST_HEAD(&(per_cpu(listener_array, i).list)); |
532 | init_rwsem(&(per_cpu(listener_array, i).sem)); | 530 | init_rwsem(&(per_cpu(listener_array, i).sem)); |