root/include/linux/latencytop.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. account_scheduler_latency
  2. account_scheduler_latency
  3. clear_tsk_latency_tracing

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

/* [<][>][^][v][top][bottom][index][help] */