cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

latencytop.h (1088B)


      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
     41#else
     42
     43static inline void
     44account_scheduler_latency(struct task_struct *task, int usecs, int inter)
     45{
     46}
     47
     48static inline void clear_tsk_latency_tracing(struct task_struct *p)
     49{
     50}
     51
     52#endif
     53
     54#endif