Group short-lived and reclaimable kernel allocations
[sfrench/cifs-2.6.git] / fs / jbd / revoke.c
index d204ab394f36bb0001c36d22b88fa0a1217c21f1..ad2eacf570c6e5b0d0404978d49ad6eebed3fba1 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * linux/fs/revoke.c
+ * linux/fs/jbd/revoke.c
  *
  * Written by Stephen C. Tweedie <sct@redhat.com>, 2000
  *
@@ -66,9 +66,9 @@
 #include <linux/errno.h>
 #include <linux/slab.h>
 #include <linux/list.h>
-#include <linux/smp_lock.h>
 #include <linux/init.h>
 #endif
+#include <linux/log2.h>
 
 static struct kmem_cache *revoke_record_cache;
 static struct kmem_cache *revoke_table_cache;
@@ -170,13 +170,15 @@ int __init journal_init_revoke_caches(void)
 {
        revoke_record_cache = kmem_cache_create("revoke_record",
                                           sizeof(struct jbd_revoke_record_s),
-                                          0, SLAB_HWCACHE_ALIGN, NULL, NULL);
+                                          0,
+                                          SLAB_HWCACHE_ALIGN|SLAB_TEMPORARY,
+                                          NULL);
        if (revoke_record_cache == 0)
                return -ENOMEM;
 
        revoke_table_cache = kmem_cache_create("revoke_table",
                                           sizeof(struct jbd_revoke_table_s),
-                                          0, 0, NULL, NULL);
+                                          0, SLAB_TEMPORARY, NULL);
        if (revoke_table_cache == 0) {
                kmem_cache_destroy(revoke_record_cache);
                revoke_record_cache = NULL;
@@ -212,7 +214,7 @@ int journal_init_revoke(journal_t *journal, int hash_size)
        journal->j_revoke = journal->j_revoke_table[0];
 
        /* Check that the hash_size is a power of two */
-       J_ASSERT ((hash_size & (hash_size-1)) == 0);
+       J_ASSERT(is_power_of_2(hash_size));
 
        journal->j_revoke->hash_size = hash_size;
 
@@ -239,7 +241,7 @@ int journal_init_revoke(journal_t *journal, int hash_size)
        journal->j_revoke = journal->j_revoke_table[1];
 
        /* Check that the hash_size is a power of two */
-       J_ASSERT ((hash_size & (hash_size-1)) == 0);
+       J_ASSERT(is_power_of_2(hash_size));
 
        journal->j_revoke->hash_size = hash_size;