1/* 2 * latencytop.h: Infrastructure for displaying latency 3 * 4 * (C) Copyright 2008 Intel Corporation 5 * Author: Arjan van de Ven <arjan@linux.intel.com> 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 18struct latency_record { 19 unsigned long backtrace[LT_BACKTRACEDEPTH]; 20 unsigned int count; 21 unsigned long time; 22 unsigned long max; 23}; 24 25 26struct task_struct; 27 28extern int latencytop_enabled; 29void __account_scheduler_latency(struct task_struct *task, int usecs, int inter); 30static inline void 31account_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 37void clear_all_latency_tracing(struct task_struct *p); 38 39#else 40 41static inline void 42account_scheduler_latency(struct task_struct *task, int usecs, int inter) 43{ 44} 45 46static inline void clear_all_latency_tracing(struct task_struct *p) 47{ 48} 49 50#endif 51 52#endif 53