diff options
author | 2021-10-04 10:10:10 -0400 | |
---|---|---|
committer | 2021-10-10 11:05:54 +0200 | |
commit | 0392dd51f9c78d46109a408f27dc820300dcd8bd (patch) | |
tree | f3b4644162169edcdde27b972e2c9c36ec35fe2f /include/linux/sunrpc | |
parent | NFS: Remove unnecessary TRACE_DEFINE_ENUM()s (diff) | |
download | linux-0392dd51f9c78d46109a408f27dc820300dcd8bd.tar.gz linux-0392dd51f9c78d46109a408f27dc820300dcd8bd.tar.bz2 linux-0392dd51f9c78d46109a408f27dc820300dcd8bd.zip |
SUNRPC: Per-rpc_clnt task PIDs
The current range of RPC task PIDs is 0..65535. That's not adequate
for distinguishing tasks across multiple rpc_clnts running high
throughput workloads.
To help relieve this situation and to reduce the bottleneck of
having a single atomic for assigning all RPC task PIDs, assign task
PIDs per rpc_clnt.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Diffstat (limited to 'include/linux/sunrpc')
-rw-r--r-- | include/linux/sunrpc/clnt.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/sunrpc/clnt.h b/include/linux/sunrpc/clnt.h index a4661646adc9..267b7aeaf1a6 100644 --- a/include/linux/sunrpc/clnt.h +++ b/include/linux/sunrpc/clnt.h @@ -40,6 +40,7 @@ struct rpc_clnt { unsigned int cl_clid; /* client id */ struct list_head cl_clients; /* Global list of clients */ struct list_head cl_tasks; /* List of tasks */ + atomic_t cl_pid; /* task PID counter */ spinlock_t cl_lock; /* spinlock */ struct rpc_xprt __rcu * cl_xprt; /* transport */ const struct rpc_procinfo *cl_procinfo; /* procedure info */ |