root/drivers/lightnvm/pblk-trace.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #undef TRACE_SYSTEM
   3 #define TRACE_SYSTEM pblk
   4 
   5 #if !defined(_TRACE_PBLK_H) || defined(TRACE_HEADER_MULTI_READ)
   6 #define _TRACE_PBLK_H
   7 
   8 #include <linux/tracepoint.h>
   9 
  10 struct ppa_addr;
  11 
  12 #define show_chunk_flags(state) __print_flags(state, "",        \
  13         { NVM_CHK_ST_FREE,              "FREE",         },      \
  14         { NVM_CHK_ST_CLOSED,            "CLOSED",       },      \
  15         { NVM_CHK_ST_OPEN,              "OPEN",         },      \
  16         { NVM_CHK_ST_OFFLINE,           "OFFLINE",      })
  17 
  18 #define show_line_state(state) __print_symbolic(state,          \
  19         { PBLK_LINESTATE_NEW,           "NEW",          },      \
  20         { PBLK_LINESTATE_FREE,          "FREE",         },      \
  21         { PBLK_LINESTATE_OPEN,          "OPEN",         },      \
  22         { PBLK_LINESTATE_CLOSED,        "CLOSED",       },      \
  23         { PBLK_LINESTATE_GC,            "GC",           },      \
  24         { PBLK_LINESTATE_BAD,           "BAD",          },      \
  25         { PBLK_LINESTATE_CORRUPT,       "CORRUPT"       })
  26 
  27 
  28 #define show_pblk_state(state) __print_symbolic(state,          \
  29         { PBLK_STATE_RUNNING,           "RUNNING",      },      \
  30         { PBLK_STATE_STOPPING,          "STOPPING",     },      \
  31         { PBLK_STATE_RECOVERING,        "RECOVERING",   },      \
  32         { PBLK_STATE_STOPPED,           "STOPPED"       })
  33 
  34 #define show_chunk_erase_state(state) __print_symbolic(state,   \
  35         { PBLK_CHUNK_RESET_START,       "START",        },      \
  36         { PBLK_CHUNK_RESET_DONE,        "OK",           },      \
  37         { PBLK_CHUNK_RESET_FAILED,      "FAILED"        })
  38 
  39 
  40 TRACE_EVENT(pblk_chunk_reset,
  41 
  42         TP_PROTO(const char *name, struct ppa_addr *ppa, int state),
  43 
  44         TP_ARGS(name, ppa, state),
  45 
  46         TP_STRUCT__entry(
  47                 __string(name, name)
  48                 __field(u64, ppa)
  49                 __field(int, state);
  50         ),
  51 
  52         TP_fast_assign(
  53                 __assign_str(name, name);
  54                 __entry->ppa = ppa->ppa;
  55                 __entry->state = state;
  56         ),
  57 
  58         TP_printk("dev=%s grp=%llu pu=%llu chk=%llu state=%s", __get_str(name),
  59                         (u64)(((struct ppa_addr *)(&__entry->ppa))->m.grp),
  60                         (u64)(((struct ppa_addr *)(&__entry->ppa))->m.pu),
  61                         (u64)(((struct ppa_addr *)(&__entry->ppa))->m.chk),
  62                         show_chunk_erase_state((int)__entry->state))
  63 
  64 );
  65 
  66 TRACE_EVENT(pblk_chunk_state,
  67 
  68         TP_PROTO(const char *name, struct ppa_addr *ppa, int state),
  69 
  70         TP_ARGS(name, ppa, state),
  71 
  72         TP_STRUCT__entry(
  73                 __string(name, name)
  74                 __field(u64, ppa)
  75                 __field(int, state);
  76         ),
  77 
  78         TP_fast_assign(
  79                 __assign_str(name, name);
  80                 __entry->ppa = ppa->ppa;
  81                 __entry->state = state;
  82         ),
  83 
  84         TP_printk("dev=%s grp=%llu pu=%llu chk=%llu state=%s", __get_str(name),
  85                         (u64)(((struct ppa_addr *)(&__entry->ppa))->m.grp),
  86                         (u64)(((struct ppa_addr *)(&__entry->ppa))->m.pu),
  87                         (u64)(((struct ppa_addr *)(&__entry->ppa))->m.chk),
  88                         show_chunk_flags((int)__entry->state))
  89 
  90 );
  91 
  92 TRACE_EVENT(pblk_line_state,
  93 
  94         TP_PROTO(const char *name, int line, int state),
  95 
  96         TP_ARGS(name, line, state),
  97 
  98         TP_STRUCT__entry(
  99                 __string(name, name)
 100                 __field(int, line)
 101                 __field(int, state);
 102         ),
 103 
 104         TP_fast_assign(
 105                 __assign_str(name, name);
 106                 __entry->line = line;
 107                 __entry->state = state;
 108         ),
 109 
 110         TP_printk("dev=%s line=%d state=%s", __get_str(name),
 111                         (int)__entry->line,
 112                         show_line_state((int)__entry->state))
 113 
 114 );
 115 
 116 TRACE_EVENT(pblk_state,
 117 
 118         TP_PROTO(const char *name, int state),
 119 
 120         TP_ARGS(name, state),
 121 
 122         TP_STRUCT__entry(
 123                 __string(name, name)
 124                 __field(int, state);
 125         ),
 126 
 127         TP_fast_assign(
 128                 __assign_str(name, name);
 129                 __entry->state = state;
 130         ),
 131 
 132         TP_printk("dev=%s state=%s", __get_str(name),
 133                         show_pblk_state((int)__entry->state))
 134 
 135 );
 136 
 137 #endif /* !defined(_TRACE_PBLK_H) || defined(TRACE_HEADER_MULTI_READ) */
 138 
 139 /* This part must be outside protection */
 140 
 141 #undef TRACE_INCLUDE_PATH
 142 #define TRACE_INCLUDE_PATH ../../drivers/lightnvm
 143 #undef TRACE_INCLUDE_FILE
 144 #define TRACE_INCLUDE_FILE pblk-trace
 145 #include <trace/define_trace.h>

/* [<][>][^][v][top][bottom][index][help] */