File: /Users/paulross/dev/linux/linux-3.13/include/linux/latencytop.h

Green shading in the line number column means the source is part of the translation unit, red means it is conditionally excluded. Highlighted line numbers link to the translation unit page. Highlighted macros link to the macro page.

       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>
      13: struct task_struct;
      14: 
      15: #ifdef CONFIG_LATENCYTOP
      16: 
      17: #define LT_SAVECOUNT        32
      18: #define LT_BACKTRACEDEPTH    12
      19: 
      20: struct latency_record {
      21:     unsigned long    backtrace[LT_BACKTRACEDEPTH];
      22:     unsigned int    count;
      23:     unsigned long    time;
      24:     unsigned long    max;
      25: };
      26: 
      27: 
      28: 
      29: extern int latencytop_enabled;
      30: void __account_scheduler_latency(struct task_struct *task, int usecs, int inter);
      31: static inline void
      32: account_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: 
      38: void clear_all_latency_tracing(struct task_struct *p);
      39: 
      40: #else
      41: 
      42: static inline void
      43: account_scheduler_latency(struct task_struct *task, int usecs, int inter)
      44: {
      45: }
      46: 
      47: static inline void clear_all_latency_tracing(struct task_struct *p)
      48: {
      49: }
      50: 
      51: #endif
      52: 
      53: #endif
      54: