KMEM_CACHE(): simplify slab cache creation
This patch provides a new macro KMEM_CACHE(<struct>, <flags>) to simplify slab creation. KMEM_CACHE creates a slab with the name of the struct, with the size of the struct and with the alignment of the struct. Additional slab flags may be specified if necessary. Example struct test_slab { int a,b,c; struct list_head; } __cacheline_aligned_in_smp; test_slab_cache = KMEM_CACHE(test_slab, SLAB_PANIC) will create a new slab named "test_slab" of the size sizeof(struct test_slab) and aligned to the alignment of test slab. If it fails then we panic. Signed-off-by: Christoph Lameter <clameter@sgi.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
5af6083990
commit
0a31bd5f2b
9 changed files with 23 additions and 32 deletions
|
@ -2636,9 +2636,5 @@ __attribute__((weak)) const char *arch_vma_name(struct vm_area_struct *vma)
|
|||
|
||||
void __init signals_init(void)
|
||||
{
|
||||
sigqueue_cachep =
|
||||
kmem_cache_create("sigqueue",
|
||||
sizeof(struct sigqueue),
|
||||
__alignof__(struct sigqueue),
|
||||
SLAB_PANIC, NULL, NULL);
|
||||
sigqueue_cachep = KMEM_CACHE(sigqueue, SLAB_PANIC);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue