linux/include/linux/latencytop.h
<<
>>
Prefs
   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
  58