knfsd: initialize RDMA transport in sunrpc
Subsystems (3)
RFC PATCH 3/15 knfsd: initialize RDMA transport in sunrpc
Add calls to the svc_rdma initialization and cleanup routines to the sunrpc module init logic.
---
net/sunrpc/sunrpc_syms.c | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletions(-)
net/sunrpc/sunrpc_syms.c +9 -1
@@ -20,7 +20,9 @@ #include <linux/sunrpc/svcsock.h>#include <linux/sunrpc/auth.h> #include <linux/workqueue.h> #include <linux/sunrpc/rpc_pipe_fs.h> - +#ifdef CONFIG_NFSD_RDMA +#include <linux/sunrpc/svc_rdma.h> +#endif /* RPC scheduler */ EXPORT_SYMBOL (rpc_execute);
@@ -158,6 +160,9 @@ #endifcache_register (&ip_map_cache);cache_register (&unix_gid_cache);init_socket_xprt (); +#ifdef CONFIG_NFSD_RDMA + err =svc_rdma_init (); +#endif out:return err; }
@@ -175,6 +180,9 @@ cleanup_sunrpc(void)#ifdef RPC_DEBUG rpc_unregister_sysctl ();#endif +#ifdef CONFIG_NFSD_RDMA +svc_rdma_cleanup (); +#endif #ifdef CONFIG_PROC_FS rpc_proc_exit ();#endif
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs
Quoted 35 lines · Tom Tucker
Add calls to the
svc_rdmainitialization and cleanup routines to the sunrpc module init logic.Signed-off-by Tom Tucker <[email protected]>---
net/sunrpc/sunrpc_syms.c | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletions(-)net/sunrpc/sunrpc_syms.c +6
-1@@ -20,7 +20,9 @@ #include <linux/sunrpc/svcsock.h>#include <linux/sunrpc/auth.h> #include <linux/workqueue.h> #include <linux/sunrpc/rpc_pipe_fs.h> - +#ifdef CONFIG_NFSD_RDMA +#include <linux/sunrpc/svc_rdma.h> +#endif /* RPC scheduler */ EXPORT_SYMBOL (rpc_execute);@@ -158,6 +160,9 @@ #endifcache_register (&ip_map_cache);cache_register (&unix_gid_cache);init_socket_xprt (); +#ifdef CONFIG_NFSD_RDMA + err =svc_rdma_init (); +#endif out:return err; }
net/sunrpc/sunrpc_syms.c cleanup_sunrpc(void) · line 188
Quoted 9 lines
net/sunrpc/sunrpc_syms.c +3
-0@@ -175,6 +180,9 @@ cleanup_sunrpc(void)#ifdef RPC_DEBUG rpc_unregister_sysctl ();#endif +#ifdef CONFIG_NFSD_RDMA +svc_rdma_cleanup (); +#endif #ifdef CONFIG_PROC_FS rpc_proc_exit ();#endif
Hmm... You really want to reorder this patch. AFAICS you haven't defined either svc_rdma.h or svc_rdma_*().
Please also convert the above to avoid inlined #ifdef/#endif by defining inlined dummy versions of svc_rdma_cleanup/svc_rdma_init inside svc_rdma.h:
#ifdef CONFIG_NFSD_RDMA
void svc_rdma_cleanup(void);
#else
static inline void svc_rdma_cleanup(void)
{
}
#endif
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs
Quoted 53 lines · Trond Myklebust
Quoted 35 lines · Tom Tucker
Add calls to the
svc_rdmainitialization and cleanup routines to the sunrpc module init logic.Signed-off-by Tom Tucker <[email protected]>---
net/sunrpc/sunrpc_syms.c | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletions(-)net/sunrpc/sunrpc_syms.c +6
-1@@ -20,7 +20,9 @@ #include <linux/sunrpc/svcsock.h>#include <linux/sunrpc/auth.h> #include <linux/workqueue.h> #include <linux/sunrpc/rpc_pipe_fs.h> - +#ifdef CONFIG_NFSD_RDMA +#include <linux/sunrpc/svc_rdma.h> +#endif /* RPC scheduler */ EXPORT_SYMBOL (rpc_execute);@@ -158,6 +160,9 @@ #endifcache_register (&ip_map_cache);cache_register (&unix_gid_cache);init_socket_xprt (); +#ifdef CONFIG_NFSD_RDMA + err =svc_rdma_init (); +#endif out:return err; }net/sunrpc/sunrpc_syms.c cleanup_sunrpc(void) · line 188
Quoted 9 lines
net/sunrpc/sunrpc_syms.c +3
-0@@ -175,6 +180,9 @@ cleanup_sunrpc(void)#ifdef RPC_DEBUG rpc_unregister_sysctl ();#endif +#ifdef CONFIG_NFSD_RDMA +svc_rdma_cleanup (); +#endif #ifdef CONFIG_PROC_FS rpc_proc_exit ();#endif Hmm... You really want to reorder this patch. AFAICS you haven't defined either
svc_rdma.hor svc_rdma_*().Please also convert the above to avoid inlined #ifdef/#endif by defining inlined dummy versions of svc_rdma_cleanup/svc_rdma_init inside
svc_rdma.h:
Quoted 7 lines
#ifdef
CONFIG_NFSD_RDMA
voidsvc_rdma_cleanup(void);
#else
static inline voidsvc_rdma_cleanup(void)
{
}
#endif
Ok, I'll add this to the svc_rdma.h file. Thanks,
Quoted 3 lines
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs
As part of the client side transport switch, I constructed a transport "register" and "unregister" interface so that when a transport module is loaded, it's init routine is invoked automatically, and likewise when it is unloaded its cleanup routine is automatically invoked.
I'd like to see the same here. I don't think we want to create a situation where you have to make source code changes in order to add new transport capabilities. Especially the distributors would be allergic to such a constraint.
Please consider this change while going about the process of integrating the server-side transport switch with your RDMA transport.
Quoted 47 lines · Tom Tucker
Add calls to the
svc_rdmainitialization and cleanup routines to the sunrpc module init logic.Signed-off-by Tom Tucker <[email protected]>---
net/sunrpc/sunrpc_syms.c | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletions(-)net/sunrpc/sunrpc_syms.c +9
-2@@ -20,7 +20,9 @@ #include <linux/sunrpc/svcsock.h>#include <linux/sunrpc/auth.h> #include <linux/workqueue.h> #include <linux/sunrpc/rpc_pipe_fs.h> - +#ifdef CONFIG_NFSD_RDMA +#include <linux/sunrpc/svc_rdma.h> +#endif /* RPC scheduler */ EXPORT_SYMBOL (rpc_execute);@@ -158,6 +160,9 @@ #endifcache_register (&ip_map_cache);cache_register (&unix_gid_cache);init_socket_xprt (); +#ifdef CONFIG_NFSD_RDMA + err =svc_rdma_init (); +#endif out:return err; }@@ -175,6 +180,9 @@ cleanup_sunrpc(void)#ifdef RPC_DEBUG rpc_unregister_sysctl ();#endif +#ifdef CONFIG_NFSD_RDMA +svc_rdma_cleanup (); +#endif #ifdef CONFIG_PROC_FS rpc_proc_exit ();#endif -------------------------------------------------------------------------
Quoted 7 lines
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs
begin:vcard
fn:Chuck Lever
n:Lever;Chuck
org:Oracle Corporation;Corporate Architecture: Linux Projects Group adr:;;1015 Granger Avenue;Ann Arbor;MI;48104;USA title:Principal Member of Staff
tel;work:+1 248 614 5091
x-mozilla-html:FALSE
url:http://oss.oracle.com/~cel/
version:2.1
end:vcard
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs
Quoted 5 lines · Chuck Lever
As part of the client side transport switch, I constructed a transport "register" and "unregister" interface so that when a transport module is loaded, it's init routine is invoked automatically, and likewise when it is unloaded its cleanup routine is automatically invoked.
Quoted 7 lines
I'd like to see the same here. I don't think we want to create a situation where you have to make source code changes in order to add new transport capabilities. Especially the distributors would be allergic to such a constraint.
Please consider this change while going about the process of integrating the server-side transport switch with your RDMA transport.
Agreed.
Quoted 48 lines
Quoted 46 lines · Tom Tucker
Add calls to the
svc_rdmainitialization and cleanup routines to the sunrpc module init logic.Signed-off-by Tom Tucker <[email protected]>---
net/sunrpc/sunrpc_syms.c | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletions(-)net/sunrpc/sunrpc_syms.c +9
-1@@ -20,7 +20,9 @@ #include <linux/sunrpc/svcsock.h>#include <linux/sunrpc/auth.h> #include <linux/workqueue.h> #include <linux/sunrpc/rpc_pipe_fs.h> - +#ifdef CONFIG_NFSD_RDMA +#include <linux/sunrpc/svc_rdma.h> +#endif /* RPC scheduler */ EXPORT_SYMBOL (rpc_execute);@@ -158,6 +160,9 @@ #endifcache_register (&ip_map_cache);cache_register (&unix_gid_cache);init_socket_xprt (); +#ifdef CONFIG_NFSD_RDMA + err =svc_rdma_init (); +#endif out:return err; }@@ -175,6 +180,9 @@ cleanup_sunrpc(void)#ifdef RPC_DEBUG rpc_unregister_sysctl ();#endif +#ifdef CONFIG_NFSD_RDMA +svc_rdma_cleanup (); +#endif #ifdef CONFIG_PROC_FS rpc_proc_exit ();#endif
Quoted 9 lines
Quoted 8 lines
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs