Note that in an internal review, Trond suggested that we can get rid of the mempool entirely, relying instead on kmalloc. This has the advantage that it basically makes pnfs_init/uninit no-ops that can be removed. This idea was integrated into the submission patches. I also have a rebase (that still needs some cleanup) that carries the removal up to your pnfs-submit branch. Fred On Tue, Sep 14, 2010 at 3:44 AM, Benny Halevy <bhalevy@xxxxxxxxxxx> wrote: > Signed-off-by: Benny Halevy <bhalevy@xxxxxxxxxxx> > --- > fs/nfs/pnfs.c | 16 +++++++--------- > 1 files changed, 7 insertions(+), 9 deletions(-) > > diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c > index 61dbc0a..b576470 100644 > --- a/fs/nfs/pnfs.c > +++ b/fs/nfs/pnfs.c > @@ -71,7 +71,7 @@ static spinlock_t pnfs_spinlock = __SPIN_LOCK_UNLOCKED(pnfs_spinlock); > * pnfs_modules_tbl holds all pnfs modules > */ > static struct list_head pnfs_modules_tbl; > -static struct kmem_cache *pnfs_cachep; > +static struct kmem_cache *pnfs_layoutcommit_cachep; > static mempool_t *pnfs_layoutcommit_mempool; > > static inline struct nfs4_layoutcommit_data *pnfs_layoutcommit_alloc(void) > @@ -102,18 +102,16 @@ pnfs_initialize(void) > { > INIT_LIST_HEAD(&pnfs_modules_tbl); > > - pnfs_cachep = kmem_cache_create("nfs4_layoutcommit_data", > + pnfs_layoutcommit_cachep = kmem_cache_create("nfs4_layoutcommit_data", > sizeof(struct nfs4_layoutcommit_data), > 0, SLAB_HWCACHE_ALIGN, NULL); > - if (pnfs_cachep == NULL) > + if (pnfs_layoutcommit_cachep == NULL) > return -ENOMEM; > > - pnfs_layoutcommit_mempool = mempool_create(MIN_POOL_LC, > - mempool_alloc_slab, > - mempool_free_slab, > - pnfs_cachep); > + pnfs_layoutcommit_mempool = mempool_create_slab_pool(MIN_POOL_LC, > + pnfs_layoutcommit_cachep); > if (pnfs_layoutcommit_mempool == NULL) { > - kmem_cache_destroy(pnfs_cachep); > + kmem_cache_destroy(pnfs_layoutcommit_cachep); > return -ENOMEM; > } > > @@ -124,7 +122,7 @@ pnfs_initialize(void) > void pnfs_uninitialize(void) > { > mempool_destroy(pnfs_layoutcommit_mempool); > - kmem_cache_destroy(pnfs_cachep); > + kmem_cache_destroy(pnfs_layoutcommit_cachep); > } > > /* search pnfs_modules_tbl for right pnfs module */ > -- > 1.7.2.2 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-nfs" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html