at v5.4 1.2 kB view raw
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 41extern int sysctl_latencytop(struct ctl_table *table, int write, 42 void __user *buffer, size_t *lenp, loff_t *ppos); 43 44#else 45 46static inline void 47account_scheduler_latency(struct task_struct *task, int usecs, int inter) 48{ 49} 50 51static inline void clear_tsk_latency_tracing(struct task_struct *p) 52{ 53} 54 55#endif 56 57#endif