Commit 77160957 authored by Mingming Cao's avatar Mingming Cao Committed by Theodore Ts'o

jbd2: Mark jbd2 slabs as SLAB_TEMPORARY

This patch marks slab allocations by jbd2 as short-lived in support of
Mel Gorman's "Group short-lived and reclaimable kernel allocations"
patch.  (Ported from similar changes made to fs/jbd/journal.c and
fs/jbd/revoke.c in Mel's patch.)

Cc: Mel Gorman <mel@csn.ul.ie>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarMingming Cao <cmm@us.ibm.com>
Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
parent 7b751066
...@@ -1973,7 +1973,7 @@ static int journal_init_jbd2_journal_head_cache(void) ...@@ -1973,7 +1973,7 @@ static int journal_init_jbd2_journal_head_cache(void)
jbd2_journal_head_cache = kmem_cache_create("jbd2_journal_head", jbd2_journal_head_cache = kmem_cache_create("jbd2_journal_head",
sizeof(struct journal_head), sizeof(struct journal_head),
0, /* offset */ 0, /* offset */
0, /* flags */ SLAB_TEMPORARY, /* flags */
NULL); /* ctor */ NULL); /* ctor */
retval = 0; retval = 0;
if (jbd2_journal_head_cache == 0) { if (jbd2_journal_head_cache == 0) {
...@@ -2269,7 +2269,7 @@ static int __init journal_init_handle_cache(void) ...@@ -2269,7 +2269,7 @@ static int __init journal_init_handle_cache(void)
jbd2_handle_cache = kmem_cache_create("jbd2_journal_handle", jbd2_handle_cache = kmem_cache_create("jbd2_journal_handle",
sizeof(handle_t), sizeof(handle_t),
0, /* offset */ 0, /* offset */
0, /* flags */ SLAB_TEMPORARY, /* flags */
NULL); /* ctor */ NULL); /* ctor */
if (jbd2_handle_cache == NULL) { if (jbd2_handle_cache == NULL) {
printk(KERN_EMERG "JBD: failed to create handle cache\n"); printk(KERN_EMERG "JBD: failed to create handle cache\n");
......
...@@ -171,13 +171,15 @@ int __init jbd2_journal_init_revoke_caches(void) ...@@ -171,13 +171,15 @@ int __init jbd2_journal_init_revoke_caches(void)
{ {
jbd2_revoke_record_cache = kmem_cache_create("jbd2_revoke_record", jbd2_revoke_record_cache = kmem_cache_create("jbd2_revoke_record",
sizeof(struct jbd2_revoke_record_s), sizeof(struct jbd2_revoke_record_s),
0, SLAB_HWCACHE_ALIGN, NULL); 0,
SLAB_HWCACHE_ALIGN|SLAB_TEMPORARY,
NULL);
if (jbd2_revoke_record_cache == 0) if (jbd2_revoke_record_cache == 0)
return -ENOMEM; return -ENOMEM;
jbd2_revoke_table_cache = kmem_cache_create("jbd2_revoke_table", jbd2_revoke_table_cache = kmem_cache_create("jbd2_revoke_table",
sizeof(struct jbd2_revoke_table_s), sizeof(struct jbd2_revoke_table_s),
0, 0, NULL); 0, SLAB_TEMPORARY, NULL);
if (jbd2_revoke_table_cache == 0) { if (jbd2_revoke_table_cache == 0) {
kmem_cache_destroy(jbd2_revoke_record_cache); kmem_cache_destroy(jbd2_revoke_record_cache);
jbd2_revoke_record_cache = NULL; jbd2_revoke_record_cache = NULL;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment