|
@@ -71,10 +71,6 @@ atomic_t rdma_stat_rq_prod;
|
|
|
atomic_t rdma_stat_sq_poll;
|
|
|
atomic_t rdma_stat_sq_prod;
|
|
|
|
|
|
-/* Temporary NFS request map and context caches */
|
|
|
-struct kmem_cache *svc_rdma_map_cachep;
|
|
|
-struct kmem_cache *svc_rdma_ctxt_cachep;
|
|
|
-
|
|
|
struct workqueue_struct *svc_rdma_wq;
|
|
|
|
|
|
/*
|
|
@@ -243,8 +239,6 @@ void svc_rdma_cleanup(void)
|
|
|
svc_unreg_xprt_class(&svc_rdma_bc_class);
|
|
|
#endif
|
|
|
svc_unreg_xprt_class(&svc_rdma_class);
|
|
|
- kmem_cache_destroy(svc_rdma_map_cachep);
|
|
|
- kmem_cache_destroy(svc_rdma_ctxt_cachep);
|
|
|
}
|
|
|
|
|
|
int svc_rdma_init(void)
|
|
@@ -264,39 +258,10 @@ int svc_rdma_init(void)
|
|
|
svcrdma_table_header =
|
|
|
register_sysctl_table(svcrdma_root_table);
|
|
|
|
|
|
- /* Create the temporary map cache */
|
|
|
- svc_rdma_map_cachep = kmem_cache_create("svc_rdma_map_cache",
|
|
|
- sizeof(struct svc_rdma_req_map),
|
|
|
- 0,
|
|
|
- SLAB_HWCACHE_ALIGN,
|
|
|
- NULL);
|
|
|
- if (!svc_rdma_map_cachep) {
|
|
|
- printk(KERN_INFO "Could not allocate map cache.\n");
|
|
|
- goto err0;
|
|
|
- }
|
|
|
-
|
|
|
- /* Create the temporary context cache */
|
|
|
- svc_rdma_ctxt_cachep =
|
|
|
- kmem_cache_create("svc_rdma_ctxt_cache",
|
|
|
- sizeof(struct svc_rdma_op_ctxt),
|
|
|
- 0,
|
|
|
- SLAB_HWCACHE_ALIGN,
|
|
|
- NULL);
|
|
|
- if (!svc_rdma_ctxt_cachep) {
|
|
|
- printk(KERN_INFO "Could not allocate WR ctxt cache.\n");
|
|
|
- goto err1;
|
|
|
- }
|
|
|
-
|
|
|
/* Register RDMA with the SVC transport switch */
|
|
|
svc_reg_xprt_class(&svc_rdma_class);
|
|
|
#if defined(CONFIG_SUNRPC_BACKCHANNEL)
|
|
|
svc_reg_xprt_class(&svc_rdma_bc_class);
|
|
|
#endif
|
|
|
return 0;
|
|
|
- err1:
|
|
|
- kmem_cache_destroy(svc_rdma_map_cachep);
|
|
|
- err0:
|
|
|
- unregister_sysctl_table(svcrdma_table_header);
|
|
|
- destroy_workqueue(svc_rdma_wq);
|
|
|
- return -ENOMEM;
|
|
|
}
|