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