1 /* 2 * latencytop.h: Infrastructure for displaying latency 3 * 4 * (C) Copyright 2008 Intel Corporation 5 * Author: Arjan van de Ven <[email protected]> 6 * 7 */ 8 9 #ifndef _INCLUDE_GUARD_LATENCYTOP_H_ 10 #define _INCLUDE_GUARD_LATENCYTOP_H_ 11 12 #include <linux/compiler.h> 13 #ifdef CONFIG_LATENCYTOP 14 15 #define LT_SAVECOUNT 32 16 #define LT_BACKTRACEDEPTH 12 17 18 struct latency_record { 19 unsigned long backtrace[LT_BACKTRACEDEPTH]; 20 unsigned int count; 21 unsigned long time; 22 unsigned long max; 23 }; 24 25 26 struct task_struct; 27 28 extern int latencytop_enabled; 29 void __account_scheduler_latency(struct task_struct *task, int usecs, int inter); 30 static inline void 31 account_scheduler_latency(struct task_struct *task, int usecs, int inter) 32 { 33 if (unlikely(latencytop_enabled)) 34 __account_scheduler_latency(task, usecs, inter); 35 } 36 37 void clear_all_latency_tracing(struct task_struct *p); 38 39 #else 40 41 static inline void 42 account_scheduler_latency(struct task_struct *task, int usecs, int inter) 43 { 44 } 45 46 static inline void clear_all_latency_tracing(struct task_struct *p) 47 { 48 } 49 50 #endif 51 52 #endif 53