SUNRPC: add a handful of per-xprt counters
Monitor generic transport events. Add a transport switch callout to format transport counters for export to user-land. Test plan: Compile kernel with CONFIG_NFS enabled. Signed-off-by: Chuck Lever <cel@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:

committed by
Trond Myklebust

parent
e19b63dafd
commit
262ca07de4
@@ -114,6 +114,7 @@ struct rpc_xprt_ops {
|
||||
void (*release_request)(struct rpc_task *task);
|
||||
void (*close)(struct rpc_xprt *xprt);
|
||||
void (*destroy)(struct rpc_xprt *xprt);
|
||||
void (*print_stats)(struct rpc_xprt *xprt, struct seq_file *seq);
|
||||
};
|
||||
|
||||
struct rpc_xprt {
|
||||
@@ -187,6 +188,18 @@ struct rpc_xprt {
|
||||
|
||||
struct list_head recv;
|
||||
|
||||
struct {
|
||||
unsigned long bind_count, /* total number of binds */
|
||||
connect_count, /* total number of connects */
|
||||
connect_start, /* connect start timestamp */
|
||||
connect_time, /* jiffies waiting for connect */
|
||||
sends, /* how many complete requests */
|
||||
recvs, /* how many complete requests */
|
||||
bad_xids; /* lookup_rqst didn't find XID */
|
||||
|
||||
unsigned long long req_u, /* average requests on the wire */
|
||||
bklog_u; /* backlog queue utilization */
|
||||
} stat;
|
||||
|
||||
void (*old_data_ready)(struct sock *, int);
|
||||
void (*old_state_change)(struct sock *);
|
||||
|
Reference in New Issue
Block a user