diff options
author | Dave Wysochanski <dwysocha@redhat.com> | 2019-05-23 16:13:50 -0400 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@hammerspace.com> | 2019-07-06 14:54:51 -0400 |
commit | a332518fda4731c07394164b3edcbb6efaf4c4d7 (patch) | |
tree | ddb6ffaee7a3327fe10402914093ae8bdd1ca031 /include/linux/sunrpc | |
parent | 93ba048e1b9f95ac7e1584fa33ed4d985bf1133d (diff) | |
download | linux-a332518fda4731c07394164b3edcbb6efaf4c4d7.tar.gz linux-a332518fda4731c07394164b3edcbb6efaf4c4d7.tar.bz2 linux-a332518fda4731c07394164b3edcbb6efaf4c4d7.zip |
SUNRPC: Count ops completing with tk_status < 0
We often see various error conditions with NFS4.x that show up with
a very high operation count all completing with tk_status < 0 in a
short period of time. Add a count to rpc_iostats to record on a
per-op basis the ops that complete in this manner, which will
enable lower overhead diagnostics.
Signed-off-by: Dave Wysochanski <dwysocha@redhat.com>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Diffstat (limited to 'include/linux/sunrpc')
-rw-r--r-- | include/linux/sunrpc/metrics.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/include/linux/sunrpc/metrics.h b/include/linux/sunrpc/metrics.h index 1b3751327575..0ee3f7052846 100644 --- a/include/linux/sunrpc/metrics.h +++ b/include/linux/sunrpc/metrics.h @@ -30,7 +30,7 @@ #include <linux/ktime.h> #include <linux/spinlock.h> -#define RPC_IOSTATS_VERS "1.0" +#define RPC_IOSTATS_VERS "1.1" struct rpc_iostats { spinlock_t om_lock; @@ -66,6 +66,11 @@ struct rpc_iostats { ktime_t om_queue, /* queued for xmit */ om_rtt, /* RPC RTT */ om_execute; /* RPC execution */ + /* + * The count of operations that complete with tk_status < 0. + * These statuses usually indicate error conditions. + */ + unsigned long om_error_status; } ____cacheline_aligned; struct rpc_task; |