* : modules/sys/kmem-slab.c : Re-implemented the slab to no

longer be based on the linux slab but to be its own complete
implementation.  The new slab behaves much more like the
Solaris slab than the Linux slab.



git-svn-id: https://outreach.scidac.gov/svn/spl/trunk@132 7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c
This commit is contained in:
behlendo
2008-06-13 23:41:06 +00:00
parent cfe5749941
commit 2fb9b26a85
7 changed files with 1023 additions and 717 deletions
+4 -3
View File
@@ -130,7 +130,7 @@ static int __init spl_init(void)
if ((rc = debug_init()))
return rc;
if ((rc = kmem_init()))
if ((rc = spl_kmem_init()))
GOTO(out , rc);
if ((rc = spl_mutex_init()))
@@ -159,7 +159,7 @@ out4:
out3:
spl_mutex_fini();
out2:
kmem_fini();
spl_kmem_fini();
out:
debug_fini();
@@ -176,7 +176,8 @@ static void spl_fini(void)
kstat_fini();
proc_fini();
vn_fini();
kmem_fini();
spl_mutex_fini();
spl_kmem_fini();
debug_fini();
}
+588 -453
View File
File diff suppressed because it is too large Load Diff
+3 -8
View File
@@ -633,7 +633,7 @@ void
vn_fini(void)
{
file_t *fp, *next_fp;
int rc, leaked = 0;
int leaked = 0;
ENTRY;
spin_lock(&vn_file_lock);
@@ -644,19 +644,14 @@ vn_fini(void)
leaked++;
}
rc = kmem_cache_destroy(vn_file_cache);
if (rc)
CWARN("Warning leaked vn_file_cache objects, %d\n", rc);
kmem_cache_destroy(vn_file_cache);
vn_file_cache = NULL;
spin_unlock(&vn_file_lock);
if (leaked > 0)
CWARN("Warning %d files leaked\n", leaked);
rc = kmem_cache_destroy(vn_cache);
if (rc)
CWARN("Warning leaked vn_cache objects, %d\n", rc);
kmem_cache_destroy(vn_cache);
EXIT;
return;