1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * latencytop.h: Infrastructure for displaying latency 4 * 5 * (C) Copyright 2008 Intel Corporation 6 * Author: Arjan van de Ven <arjan@linux.intel.com> 7 * 8 */ 9 10 #ifndef _INCLUDE_GUARD_LATENCYTOP_H_ 11 #define _INCLUDE_GUARD_LATENCYTOP_H_ 12 13 #include <linux/compiler.h> 14 struct task_struct; 15 16 #ifdef CONFIG_LATENCYTOP 17 18 #define LT_SAVECOUNT 32 19 #define LT_BACKTRACEDEPTH 12 20 21 struct latency_record { 22 unsigned long backtrace[LT_BACKTRACEDEPTH]; 23 unsigned int count; 24 unsigned long time; 25 unsigned long max; 26 }; 27 28 29 30 extern int latencytop_enabled; 31 void __account_scheduler_latency(struct task_struct *task, int usecs, int inter); 32 static inline void 33 account_scheduler_latency(struct task_struct *task, int usecs, int inter) 34 { 35 if (unlikely(latencytop_enabled)) 36 __account_scheduler_latency(task, usecs, inter); 37 } 38 39 void clear_tsk_latency_tracing(struct task_struct *p); 40 41 #else 42 43 static inline void 44 account_scheduler_latency(struct task_struct *task, int usecs, int inter) 45 { 46 } 47 48 static inline void clear_tsk_latency_tracing(struct task_struct *p) 49 { 50 } 51 52 #endif 53 54 #endif 55
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.