lkml.org 
[lkml]   [1999]   [Jul]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC-PATCH] nfs client enhancements
Hi,

On Tue, Jun 08, 1999 at 04:55:05PM -0700, David S. Miller wrote:

[dir.c]

> +static kmem_cache_t *nfs_fh_cachep;
[..]
> +int nfs_init_fhcache(void)
> +{
> + nfs_fh_cachep = kmem_cache_create("nfs_fh",
> + sizeof(struct nfs_fh),
> + 0, SLAB_HWCACHE_ALIGN,
> + NULL, NULL);
> + if (nfs_fh_cachep == NULL)
> + return -ENOMEM;
> +
> + nfs_cookie_cachep = kmem_cache_create("nfs_dcookie",
> + sizeof(struct nfs_cookie_table),
> + 0, SLAB_HWCACHE_ALIGN,
> + NULL, NULL);
> + if (nfs_cookie_cachep == NULL)
> + return -ENOMEM;
> +
> + return 0;
> }

Errrrm.. A couple of thoughts (which I haven't been able to test ATM, 'cos
nfs.o doesn't load) about this:

1) If you rmmod nfs, and then cat /proc/slabinfo, it'll segfault 'cos the name
won't be in memory any more.

2) if you re-insert nfs.o having rmmod'd it, the kmem_cache_create calls will
fail, as the cache already exists.

Am I right?

The comments at the top of mm/slab.c say something about putting module's
cachep's in memory which is not unloaded. I don't know if this is possible
(perhaps by putting it in a different section of some sort).

The easier solution seems to be to add a function to slab.c to search for
a named cache and return a pointer to it (and kmem_cache_shrink() the cache
when the module is unloaded).

--
I do not find in orthodox Christianity one redeeming feature.
- Thomas Jefferson

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:53    [W:0.157 / U:0.132 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site