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

kyber.h (2324B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#undef TRACE_SYSTEM
      3#define TRACE_SYSTEM kyber
      4
      5#if !defined(_TRACE_KYBER_H) || defined(TRACE_HEADER_MULTI_READ)
      6#define _TRACE_KYBER_H
      7
      8#include <linux/blkdev.h>
      9#include <linux/tracepoint.h>
     10
     11#define DOMAIN_LEN		16
     12#define LATENCY_TYPE_LEN	8
     13
     14TRACE_EVENT(kyber_latency,
     15
     16	TP_PROTO(dev_t dev, const char *domain, const char *type,
     17		 unsigned int percentile, unsigned int numerator,
     18		 unsigned int denominator, unsigned int samples),
     19
     20	TP_ARGS(dev, domain, type, percentile, numerator, denominator, samples),
     21
     22	TP_STRUCT__entry(
     23		__field(	dev_t,	dev				)
     24		__array(	char,	domain,	DOMAIN_LEN		)
     25		__array(	char,	type,	LATENCY_TYPE_LEN	)
     26		__field(	u8,	percentile			)
     27		__field(	u8,	numerator			)
     28		__field(	u8,	denominator			)
     29		__field(	unsigned int,	samples			)
     30	),
     31
     32	TP_fast_assign(
     33		__entry->dev		= dev;
     34		strlcpy(__entry->domain, domain, sizeof(__entry->domain));
     35		strlcpy(__entry->type, type, sizeof(__entry->type));
     36		__entry->percentile	= percentile;
     37		__entry->numerator	= numerator;
     38		__entry->denominator	= denominator;
     39		__entry->samples	= samples;
     40	),
     41
     42	TP_printk("%d,%d %s %s p%u %u/%u samples=%u",
     43		  MAJOR(__entry->dev), MINOR(__entry->dev), __entry->domain,
     44		  __entry->type, __entry->percentile, __entry->numerator,
     45		  __entry->denominator, __entry->samples)
     46);
     47
     48TRACE_EVENT(kyber_adjust,
     49
     50	TP_PROTO(dev_t dev, const char *domain, unsigned int depth),
     51
     52	TP_ARGS(dev, domain, depth),
     53
     54	TP_STRUCT__entry(
     55		__field(	dev_t,	dev			)
     56		__array(	char,	domain,	DOMAIN_LEN	)
     57		__field(	unsigned int,	depth		)
     58	),
     59
     60	TP_fast_assign(
     61		__entry->dev		= dev;
     62		strlcpy(__entry->domain, domain, sizeof(__entry->domain));
     63		__entry->depth		= depth;
     64	),
     65
     66	TP_printk("%d,%d %s %u",
     67		  MAJOR(__entry->dev), MINOR(__entry->dev), __entry->domain,
     68		  __entry->depth)
     69);
     70
     71TRACE_EVENT(kyber_throttled,
     72
     73	TP_PROTO(dev_t dev, const char *domain),
     74
     75	TP_ARGS(dev, domain),
     76
     77	TP_STRUCT__entry(
     78		__field(	dev_t,	dev			)
     79		__array(	char,	domain,	DOMAIN_LEN	)
     80	),
     81
     82	TP_fast_assign(
     83		__entry->dev		= dev;
     84		strlcpy(__entry->domain, domain, sizeof(__entry->domain));
     85	),
     86
     87	TP_printk("%d,%d %s", MAJOR(__entry->dev), MINOR(__entry->dev),
     88		  __entry->domain)
     89);
     90
     91#define _TRACE_KYBER_H
     92#endif /* _TRACE_KYBER_H */
     93
     94/* This part must be outside protection */
     95#include <trace/define_trace.h>