mirror of
https://github.com/torvalds/linux.git
synced 2024-11-19 10:31:48 +00:00
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>
This commit is contained in:
parent
f29372322e
commit
1b0dd0bf3d
@ -1503,6 +1503,7 @@ static void pblk_stop_writes(struct pblk *pblk, struct pblk_line *line)
|
||||
|
||||
pblk_set_space_limit(pblk);
|
||||
pblk->state = PBLK_STATE_STOPPING;
|
||||
trace_pblk_state(pblk_disk_name(pblk), pblk->state);
|
||||
}
|
||||
|
||||
static void pblk_line_close_meta_sync(struct pblk *pblk)
|
||||
@ -1552,6 +1553,7 @@ void __pblk_pipeline_flush(struct pblk *pblk)
|
||||
return;
|
||||
}
|
||||
pblk->state = PBLK_STATE_RECOVERING;
|
||||
trace_pblk_state(pblk_disk_name(pblk), pblk->state);
|
||||
spin_unlock(&l_mg->free_lock);
|
||||
|
||||
pblk_flush_writer(pblk);
|
||||
@ -1573,6 +1575,7 @@ void __pblk_pipeline_stop(struct pblk *pblk)
|
||||
|
||||
spin_lock(&l_mg->free_lock);
|
||||
pblk->state = PBLK_STATE_STOPPED;
|
||||
trace_pblk_state(pblk_disk_name(pblk), pblk->state);
|
||||
l_mg->data_line = NULL;
|
||||
l_mg->data_next = NULL;
|
||||
spin_unlock(&l_mg->free_lock);
|
||||
|
@ -1109,6 +1109,7 @@ static void *pblk_init(struct nvm_tgt_dev *dev, struct gendisk *tdisk,
|
||||
pblk->dev = dev;
|
||||
pblk->disk = tdisk;
|
||||
pblk->state = PBLK_STATE_RUNNING;
|
||||
trace_pblk_state(pblk_disk_name(pblk), pblk->state);
|
||||
pblk->gc.gc_enabled = 0;
|
||||
|
||||
if (!(geo->version == NVM_OCSSD_SPEC_12 ||
|
||||
|
@ -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 */
|
||||
|
Loading…
Reference in New Issue
Block a user