diff options
Diffstat (limited to 'include/linux/kernel.h')
| -rw-r--r-- | include/linux/kernel.h | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 08bf5da8667..d4614a8a034 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h | |||
| @@ -369,8 +369,35 @@ static inline char *pack_hex_byte(char *buf, u8 byte) | |||
| 369 | 369 | ||
| 370 | /* | 370 | /* |
| 371 | * General tracing related utility functions - trace_printk(), | 371 | * General tracing related utility functions - trace_printk(), |
| 372 | * tracing_start()/tracing_stop: | 372 | * tracing_on/tracing_off and tracing_start()/tracing_stop |
| 373 | * | ||
| 374 | * Use tracing_on/tracing_off when you want to quickly turn on or off | ||
| 375 | * tracing. It simply enables or disables the recording of the trace events. | ||
| 376 | * This also corresponds to the user space debugfs/tracing/tracing_on | ||
| 377 | * file, which gives a means for the kernel and userspace to interact. | ||
| 378 | * Place a tracing_off() in the kernel where you want tracing to end. | ||
| 379 | * From user space, examine the trace, and then echo 1 > tracing_on | ||
| 380 | * to continue tracing. | ||
| 381 | * | ||
| 382 | * tracing_stop/tracing_start has slightly more overhead. It is used | ||
| 383 | * by things like suspend to ram where disabling the recording of the | ||
| 384 | * trace is not enough, but tracing must actually stop because things | ||
| 385 | * like calling smp_processor_id() may crash the system. | ||
| 386 | * | ||
| 387 | * Most likely, you want to use tracing_on/tracing_off. | ||
| 373 | */ | 388 | */ |
| 389 | #ifdef CONFIG_RING_BUFFER | ||
| 390 | void tracing_on(void); | ||
| 391 | void tracing_off(void); | ||
| 392 | /* trace_off_permanent stops recording with no way to bring it back */ | ||
| 393 | void tracing_off_permanent(void); | ||
| 394 | int tracing_is_on(void); | ||
| 395 | #else | ||
| 396 | static inline void tracing_on(void) { } | ||
| 397 | static inline void tracing_off(void) { } | ||
| 398 | static inline void tracing_off_permanent(void) { } | ||
| 399 | static inline int tracing_is_on(void) { return 0; } | ||
| 400 | #endif | ||
| 374 | #ifdef CONFIG_TRACING | 401 | #ifdef CONFIG_TRACING |
| 375 | extern void tracing_start(void); | 402 | extern void tracing_start(void); |
| 376 | extern void tracing_stop(void); | 403 | extern void tracing_stop(void); |
