Browse Source

ext4: use KMEM_CACHE instead of kmem_cache_create

Also remove the SLAB_RECLAIM_ACCOUNT flag from the system zone kmem
cache.  This slab tends to be fairly static, so it shouldn't be marked
as likely to have free pages that can be reclaimed.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Theodore Ts'o 14 years ago
parent
commit
16828088f9
2 changed files with 7 additions and 14 deletions
  1. 1 2
      fs/ext4/block_validity.c
  2. 6 12
      fs/ext4/mballoc.c

+ 1 - 2
fs/ext4/block_validity.c

@@ -31,8 +31,7 @@ static struct kmem_cache *ext4_system_zone_cachep;
 
 
 int __init init_ext4_system_zone(void)
 int __init init_ext4_system_zone(void)
 {
 {
-	ext4_system_zone_cachep = KMEM_CACHE(ext4_system_zone,
-					     SLAB_RECLAIM_ACCOUNT);
+	ext4_system_zone_cachep = KMEM_CACHE(ext4_system_zone, 0);
 	if (ext4_system_zone_cachep == NULL)
 	if (ext4_system_zone_cachep == NULL)
 		return -ENOMEM;
 		return -ENOMEM;
 	return 0;
 	return 0;

+ 6 - 12
fs/ext4/mballoc.c

@@ -2706,26 +2706,20 @@ static void ext4_remove_debugfs_entry(void)
 
 
 int __init init_ext4_mballoc(void)
 int __init init_ext4_mballoc(void)
 {
 {
-	ext4_pspace_cachep =
-		kmem_cache_create("ext4_prealloc_space",
-				     sizeof(struct ext4_prealloc_space),
-				     0, SLAB_RECLAIM_ACCOUNT, NULL);
+	ext4_pspace_cachep = KMEM_CACHE(ext4_prealloc_space,
+					SLAB_RECLAIM_ACCOUNT);
 	if (ext4_pspace_cachep == NULL)
 	if (ext4_pspace_cachep == NULL)
 		return -ENOMEM;
 		return -ENOMEM;
 
 
-	ext4_ac_cachep =
-		kmem_cache_create("ext4_alloc_context",
-				     sizeof(struct ext4_allocation_context),
-				     0, SLAB_RECLAIM_ACCOUNT, NULL);
+	ext4_ac_cachep = KMEM_CACHE(ext4_allocation_context,
+				    SLAB_RECLAIM_ACCOUNT);
 	if (ext4_ac_cachep == NULL) {
 	if (ext4_ac_cachep == NULL) {
 		kmem_cache_destroy(ext4_pspace_cachep);
 		kmem_cache_destroy(ext4_pspace_cachep);
 		return -ENOMEM;
 		return -ENOMEM;
 	}
 	}
 
 
-	ext4_free_ext_cachep =
-		kmem_cache_create("ext4_free_block_extents",
-				     sizeof(struct ext4_free_data),
-				     0, SLAB_RECLAIM_ACCOUNT, NULL);
+	ext4_free_ext_cachep = KMEM_CACHE(ext4_free_data,
+					  SLAB_RECLAIM_ACCOUNT);
 	if (ext4_free_ext_cachep == NULL) {
 	if (ext4_free_ext_cachep == NULL) {
 		kmem_cache_destroy(ext4_pspace_cachep);
 		kmem_cache_destroy(ext4_pspace_cachep);
 		kmem_cache_destroy(ext4_ac_cachep);
 		kmem_cache_destroy(ext4_ac_cachep);