Commit 3a3f9766 authored by Olga Kornievskaia's avatar Olga Kornievskaia Committed by Anna Schumaker
Browse files

SUNRPC keep track of number of transports to unique addresses



Currently, xprt_switch keeps a number of all xprts (xps_nxprts)
that were added to the switch regardless of whethere it's an
nconnect transport or a transport to a trunkable address.
Introduce a new counter to keep track of transports to unique
destination addresses per xprt_switch.

Signed-off-by: default avatarOlga Kornievskaia <kolga@netapp.com>
Signed-off-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
parent 79d534f8
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ struct rpc_xprt_switch {
	unsigned int		xps_id;
	unsigned int		xps_nxprts;
	unsigned int		xps_nactive;
	unsigned int		xps_nunique_destaddr_xprts;
	atomic_long_t		xps_queuelen;
	struct list_head	xps_xprt_list;

+1 −1
Original line number Diff line number Diff line
@@ -2799,7 +2799,7 @@ int rpc_clnt_test_and_add_xprt(struct rpc_clnt *clnt,

	task = rpc_call_null_helper(clnt, xprt, NULL, RPC_TASK_ASYNC,
			&rpc_cb_add_xprt_call_ops, data);

	data->xps->xps_nunique_destaddr_xprts++;
	rpc_put_task(task);
success:
	return 1;
+1 −0
Original line number Diff line number Diff line
@@ -139,6 +139,7 @@ struct rpc_xprt_switch *xprt_switch_alloc(struct rpc_xprt *xprt,
		xps->xps_iter_ops = &rpc_xprt_iter_singular;
		rpc_sysfs_xprt_switch_setup(xps, xprt, gfp_flags);
		xprt_switch_add_xprt_locked(xps, xprt);
		xps->xps_nunique_destaddr_xprts = 1;
		rpc_sysfs_xprt_setup(xps, xprt, gfp_flags);
	}