summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/rpc/svc.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/common/rpc/svc.c')
-rw-r--r--usr/src/uts/common/rpc/svc.c33
1 files changed, 7 insertions, 26 deletions
diff --git a/usr/src/uts/common/rpc/svc.c b/usr/src/uts/common/rpc/svc.c
index 43f8a6d703..9ea26934b5 100644
--- a/usr/src/uts/common/rpc/svc.c
+++ b/usr/src/uts/common/rpc/svc.c
@@ -20,7 +20,9 @@
*/
/*
+ * Copyright 2012 Marcel Telka <marcel@telka.sk>
* Copyright 2015 Nexenta Systems, Inc. All rights reserved.
+ * Copyright 2018 OmniOS Community Edition (OmniOSce) Association.
*/
/*
@@ -33,7 +35,7 @@
*/
/* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */
-/* All Rights Reserved */
+/* All Rights Reserved */
/*
* Portions of this source code were derived from Berkeley 4.3 BSD
@@ -296,27 +298,6 @@ static caddr_t rqcred_head;
static kmutex_t rqcred_lock;
/*
- * Pointers to transport specific `rele' routines in rpcmod (set from rpcmod).
- */
-void (*rpc_rele)(queue_t *, mblk_t *, bool_t) = NULL;
-void (*mir_rele)(queue_t *, mblk_t *, bool_t) = NULL;
-
-/* ARGSUSED */
-void
-rpc_rdma_rele(queue_t *q, mblk_t *mp, bool_t enable)
-{
-}
-void (*rdma_rele)(queue_t *, mblk_t *, bool_t) = rpc_rdma_rele;
-
-
-/*
- * This macro picks which `rele' routine to use, based on the transport type.
- */
-#define RELE_PROC(xprt) \
- ((xprt)->xp_type == T_RDMA ? rdma_rele : \
- (((xprt)->xp_type == T_CLTS) ? rpc_rele : mir_rele))
-
-/*
* If true, then keep quiet about version mismatch.
* This macro is for broadcast RPC only. We have no broadcast RPC in
* kernel now but one may define a flag in the transport structure
@@ -595,7 +576,7 @@ svc_pool_register(struct svc_globals *svc, SVCPOOL *pool, int id)
*/
static int
svc_pool_init(SVCPOOL *pool, uint_t maxthreads, uint_t redline,
- uint_t qsize, uint_t timeout, uint_t stksize, uint_t max_same_xprt)
+ uint_t qsize, uint_t timeout, uint_t stksize, uint_t max_same_xprt)
{
klwp_t *lwp = ttolwp(curthread);
@@ -2387,7 +2368,7 @@ svc_run(SVCPOOL *pool)
if (enable)
xprt->xp_enable = FALSE;
mutex_exit(&xprt->xp_req_lock);
- (*RELE_PROC(xprt)) (clone_xprt->xp_wq, NULL, enable);
+ SVC_RELE(clone_xprt, NULL, enable);
}
/* NOTREACHED */
}
@@ -2412,7 +2393,7 @@ svc_queueclean(queue_t *q)
/* remove the request from the list */
xprt->xp_req_head = mp->b_next;
mp->b_next = (mblk_t *)0;
- (*RELE_PROC(xprt)) (xprt->xp_wq, mp, FALSE);
+ SVC_RELE(xprt, mp, FALSE);
}
mutex_enter(&pool->p_req_lock);
@@ -2729,7 +2710,7 @@ svc_detach_thread(SVCXPRT *clone_xprt)
if (enable)
xprt->xp_enable = FALSE;
mutex_exit(&xprt->xp_req_lock);
- (*RELE_PROC(xprt)) (clone_xprt->xp_wq, NULL, enable);
+ SVC_RELE(clone_xprt, NULL, enable);
/* Mark the clone (thread) as detached */
clone_xprt->xp_reserved = FALSE;