diff options
| author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-02-21 14:05:48 -0500 |
|---|---|---|
| committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-03-03 21:28:29 -0500 |
| commit | fe7d4ccd1d7748bc9919c1bdee1e8286776f75ff (patch) | |
| tree | 0d55a8de27712c409441c9b20844163c295ad07b /include/trace | |
| parent | 6dbe51c251a327e012439c4772097a13df43c5b8 (diff) | |
regmap: async: Add tracepoints for async I/O
Trace when we start and complete async writes, and when we start and
finish blocking for their completion. This is useful for performance
analysis of the resulting I/O patterns.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'include/trace')
| -rw-r--r-- | include/trace/events/regmap.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/include/trace/events/regmap.h b/include/trace/events/regmap.h index 41a7dbd570e2..a43a2f67bd8e 100644 --- a/include/trace/events/regmap.h +++ b/include/trace/events/regmap.h | |||
| @@ -175,6 +175,54 @@ DEFINE_EVENT(regmap_bool, regmap_cache_bypass, | |||
| 175 | 175 | ||
| 176 | ); | 176 | ); |
| 177 | 177 | ||
| 178 | DECLARE_EVENT_CLASS(regmap_async, | ||
| 179 | |||
| 180 | TP_PROTO(struct device *dev), | ||
| 181 | |||
| 182 | TP_ARGS(dev), | ||
| 183 | |||
| 184 | TP_STRUCT__entry( | ||
| 185 | __string( name, dev_name(dev) ) | ||
| 186 | ), | ||
| 187 | |||
| 188 | TP_fast_assign( | ||
| 189 | __assign_str(name, dev_name(dev)); | ||
| 190 | ), | ||
| 191 | |||
| 192 | TP_printk("%s", __get_str(name)) | ||
| 193 | ); | ||
| 194 | |||
| 195 | DEFINE_EVENT(regmap_block, regmap_async_write_start, | ||
| 196 | |||
| 197 | TP_PROTO(struct device *dev, unsigned int reg, int count), | ||
| 198 | |||
| 199 | TP_ARGS(dev, reg, count) | ||
| 200 | ); | ||
| 201 | |||
| 202 | DEFINE_EVENT(regmap_async, regmap_async_io_complete, | ||
| 203 | |||
| 204 | TP_PROTO(struct device *dev), | ||
| 205 | |||
| 206 | TP_ARGS(dev) | ||
| 207 | |||
| 208 | ); | ||
| 209 | |||
| 210 | DEFINE_EVENT(regmap_async, regmap_async_complete_start, | ||
| 211 | |||
| 212 | TP_PROTO(struct device *dev), | ||
| 213 | |||
| 214 | TP_ARGS(dev) | ||
| 215 | |||
| 216 | ); | ||
| 217 | |||
| 218 | DEFINE_EVENT(regmap_async, regmap_async_complete_done, | ||
| 219 | |||
| 220 | TP_PROTO(struct device *dev), | ||
| 221 | |||
| 222 | TP_ARGS(dev) | ||
| 223 | |||
| 224 | ); | ||
| 225 | |||
| 178 | #endif /* _TRACE_REGMAP_H */ | 226 | #endif /* _TRACE_REGMAP_H */ |
| 179 | 227 | ||
| 180 | /* This part must be outside protection */ | 228 | /* This part must be outside protection */ |
