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