diff options
Diffstat (limited to 'usr/src/uts/common/rpc/svc.c')
| -rw-r--r-- | usr/src/uts/common/rpc/svc.c | 33 |
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; |
