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> 13struct task_struct; 14 15#ifdef CONFIG_LATENCYTOP 16 17#define LT_SAVECOUNT 32 18#define LT_BACKTRACEDEPTH 12 19 20struct latency_record { 21 unsigned long backtrace[LT_BACKTRACEDEPTH]; 22 unsigned int count; 23 unsigned long time; 24 unsigned long max; 25}; 26 27 28 29extern int latencytop_enabled; 30void __account_scheduler_latency(struct task_struct *task, int usecs, int inter); 31static inline void 32account_scheduler_latency(struct task_struct *task, int usecs, int inter) 33{ 34 if (unlikely(latencytop_enabled)) 35 __account_scheduler_latency(task, usecs, inter); 36} 37 38void clear_all_latency_tracing(struct task_struct *p); 39 40#else 41 42static inline void 43account_scheduler_latency(struct task_struct *task, int usecs, int inter) 44{ 45} 46 47static inline void clear_all_latency_tracing(struct task_struct *p) 48{ 49} 50 51#endif 52 53#endif 54