summaryrefslogtreecommitdiffstats
path: root/drivers/lightnvm/pblk-trace.h
diff options
context:
space:
mode:
authorHans Holmberg <hans.holmberg@cnexlabs.com>2018-10-09 13:11:54 +0200
committerJens Axboe <axboe@kernel.dk>2018-10-09 08:25:07 -0600
commit1b0dd0bf3dc8e9fb974d61139c182be15e43caf9 (patch)
treee50053b339986748faa9ca738f295ea40cfc6494 /drivers/lightnvm/pblk-trace.h
parentf29372322e415999f429d3e3883b865c87860b46 (diff)
downloadtalos-obmc-linux-1b0dd0bf3dc8e9fb974d61139c182be15e43caf9.tar.gz
talos-obmc-linux-1b0dd0bf3dc8e9fb974d61139c182be15e43caf9.zip
lightnvm: pblk: add trace events for pblk state changes
Add trace events for tracking pblk state changes. Signed-off-by: Hans Holmberg <hans.holmberg@cnexlabs.com> Signed-off-by: Matias Bjørling <mb@lightnvm.io> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/lightnvm/pblk-trace.h')
-rw-r--r--drivers/lightnvm/pblk-trace.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/drivers/lightnvm/pblk-trace.h b/drivers/lightnvm/pblk-trace.h
index f9aa9e25e428..c171d0450c07 100644
--- a/drivers/lightnvm/pblk-trace.h
+++ b/drivers/lightnvm/pblk-trace.h
@@ -25,6 +25,13 @@ struct ppa_addr;
{ PBLK_LINESTATE_CORRUPT, "CORRUPT" })
+#define show_pblk_state(state) __print_symbolic(state, \
+ { PBLK_STATE_RUNNING, "RUNNING", }, \
+ { PBLK_STATE_STOPPING, "STOPPING", }, \
+ { PBLK_STATE_RECOVERING, "RECOVERING", }, \
+ { PBLK_STATE_STOPPED, "STOPPED" })
+
+
TRACE_EVENT(pblk_chunk_state,
TP_PROTO(const char *name, struct ppa_addr *ppa, int state),
@@ -75,6 +82,27 @@ TRACE_EVENT(pblk_line_state,
);
+TRACE_EVENT(pblk_state,
+
+ TP_PROTO(const char *name, int state),
+
+ TP_ARGS(name, state),
+
+ TP_STRUCT__entry(
+ __string(name, name)
+ __field(int, state);
+ ),
+
+ TP_fast_assign(
+ __assign_str(name, name);
+ __entry->state = state;
+ ),
+
+ TP_printk("dev=%s state=%s", __get_str(name),
+ show_pblk_state((int)__entry->state))
+
+);
+
#endif /* !defined(_TRACE_PBLK_H) || defined(TRACE_HEADER_MULTI_READ) */
/* This part must be outside protection */
OpenPOWER on IntegriCloud