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