Re: [rfc][patch 3/3] use SLAB_ALIGN_SMP

Eric Dumazet
2008-03-03T09:54:31Z

Nick Piggin a écrit :
> Use SLAB_SMP_ALIGN in a few places.
>
>

I dont understand why you added SLAB_SMP_ALIGN, without removing
SLAB_HWCACHE_ALIGN on these places.

> Signed-off-by: Nick Piggin <npiggin@suse.de>
> ---
> Index: linux-2.6/fs/block_dev.c
> ===================================================================
> --- linux-2.6.orig/fs/block_dev.c
> +++ linux-2.6/fs/block_dev.c
> @@ -332,8 +332,8 @@ void __init bdev_cache_init(void)
> {
> int err;
> bdev_cachep = kmem_cache_create("bdev_cache", sizeof(struct bdev_inode),
> - 0, (SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT|
> - SLAB_MEM_SPREAD|SLAB_PANIC),
> + 0, (SLAB_HWCACHE_ALIGN|SLAB_SMP_ALIGN|
> + SLAB_RECLAIM_ACCOUNT|SLAB_MEM_SPREAD|SLAB_PANIC),
> init_once);
> err = register_filesystem(&bd_type);
> if (err)
> Index: linux-2.6/kernel/fork.c
> ===================================================================
> --- linux-2.6.orig/kernel/fork.c
> +++ linux-2.6/kernel/fork.c
> @@ -1547,23 +1547,23 @@ void __init proc_caches_init(void)
> {
> sighand_cachep = kmem_cache_create("sighand_cache",
> sizeof(struct sighand_struct), 0,
> - SLAB_HWCACHE_ALIGN|SLAB_PANIC|SLAB_DESTROY_BY_RCU,
> + SLAB_HWCACHE_ALIGN|SLAB_SMP_ALIGN|SLAB_PANIC|SLAB_DESTROY_BY_RCU,
> sighand_ctor);
> signal_cachep = kmem_cache_create("signal_cache",
> sizeof(struct signal_struct), 0,
> - SLAB_HWCACHE_ALIGN|SLAB_PANIC, NULL);
> + SLAB_HWCACHE_ALIGN|SLAB_SMP_ALIGN|SLAB_PANIC, NULL);
> files_cachep = kmem_cache_create("files_cache",
> sizeof(struct files_struct), 0,
> - SLAB_HWCACHE_ALIGN|SLAB_PANIC, NULL);
> + SLAB_HWCACHE_ALIGN|SLAB_SMP_ALIGN|SLAB_PANIC, NULL);
> fs_cachep = kmem_cache_create("fs_cache",
> sizeof(struct fs_struct), 0,
> - SLAB_HWCACHE_ALIGN|SLAB_PANIC, NULL);
> + SLAB_HWCACHE_ALIGN|SLAB_SMP_ALIGN|SLAB_PANIC, NULL);
> vm_area_cachep = kmem_cache_create("vm_area_struct",
> sizeof(struct vm_area_struct), 0,
> SLAB_PANIC, NULL);
> mm_cachep = kmem_cache_create("mm_struct",
> sizeof(struct mm_struct), ARCH_MIN_MMSTRUCT_ALIGN,
> - SLAB_HWCACHE_ALIGN|SLAB_PANIC, NULL);
> + SLAB_HWCACHE_ALIGN|SLAB_SMP_ALIGN|SLAB_PANIC, NULL);
> }
>
> /*
> Index: linux-2.6/kernel/pid.c
> ===================================================================
> --- linux-2.6.orig/kernel/pid.c
> +++ linux-2.6/kernel/pid.c
> @@ -526,5 +526,5 @@ void __init pidmap_init(void)
> atomic_dec(&init_pid_ns.pidmap[0].nr_free);
>
> init_pid_ns.pid_cachep = KMEM_CACHE(pid,
> - SLAB_HWCACHE_ALIGN | SLAB_PANIC);
> + SLAB_HWCACHE_ALIGN | SLAB_SMP_ALIGN | SLAB_PANIC);
> }
> Index: linux-2.6/kernel/user.c
> ===================================================================
> --- linux-2.6.orig/kernel/user.c
> +++ linux-2.6/kernel/user.c
> @@ -503,7 +503,7 @@ static int __init uid_cache_init(void)
> int n;
>
> uid_cachep = kmem_cache_create("uid_cache", sizeof(struct user_struct),
> - 0, SLAB_HWCACHE_ALIGN|SLAB_PANIC, NULL);
> + 0, SLAB_HWCACHE_ALIGN|SLAB_SMP_ALIGN|SLAB_PANIC, NULL);
>
> for(n = 0; n < UIDHASH_SZ; ++n)
> INIT_HLIST_HEAD(init_user_ns.uidhash_table + n);
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>
>