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

percpu.h (3186B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#undef TRACE_SYSTEM
      3#define TRACE_SYSTEM percpu
      4
      5#if !defined(_TRACE_PERCPU_H) || defined(TRACE_HEADER_MULTI_READ)
      6#define _TRACE_PERCPU_H
      7
      8#include <linux/tracepoint.h>
      9#include <trace/events/mmflags.h>
     10
     11TRACE_EVENT(percpu_alloc_percpu,
     12
     13	TP_PROTO(unsigned long call_site,
     14		 bool reserved, bool is_atomic, size_t size,
     15		 size_t align, void *base_addr, int off,
     16		 void __percpu *ptr, size_t bytes_alloc, gfp_t gfp_flags),
     17
     18	TP_ARGS(call_site, reserved, is_atomic, size, align, base_addr, off,
     19		ptr, bytes_alloc, gfp_flags),
     20
     21	TP_STRUCT__entry(
     22		__field(	unsigned long,		call_site	)
     23		__field(	bool,			reserved	)
     24		__field(	bool,			is_atomic	)
     25		__field(	size_t,			size		)
     26		__field(	size_t,			align		)
     27		__field(	void *,			base_addr	)
     28		__field(	int,			off		)
     29		__field(	void __percpu *,	ptr		)
     30		__field(	size_t,			bytes_alloc	)
     31		__field(	unsigned long,		gfp_flags	)
     32	),
     33	TP_fast_assign(
     34		__entry->call_site	= call_site;
     35		__entry->reserved	= reserved;
     36		__entry->is_atomic	= is_atomic;
     37		__entry->size		= size;
     38		__entry->align		= align;
     39		__entry->base_addr	= base_addr;
     40		__entry->off		= off;
     41		__entry->ptr		= ptr;
     42		__entry->bytes_alloc	= bytes_alloc;
     43		__entry->gfp_flags	= (__force unsigned long)gfp_flags;
     44	),
     45
     46	TP_printk("call_site=%pS reserved=%d is_atomic=%d size=%zu align=%zu base_addr=%p off=%d ptr=%p bytes_alloc=%zu gfp_flags=%s",
     47		  (void *)__entry->call_site,
     48		  __entry->reserved, __entry->is_atomic,
     49		  __entry->size, __entry->align,
     50		  __entry->base_addr, __entry->off, __entry->ptr,
     51		  __entry->bytes_alloc, show_gfp_flags(__entry->gfp_flags))
     52);
     53
     54TRACE_EVENT(percpu_free_percpu,
     55
     56	TP_PROTO(void *base_addr, int off, void __percpu *ptr),
     57
     58	TP_ARGS(base_addr, off, ptr),
     59
     60	TP_STRUCT__entry(
     61		__field(	void *,			base_addr	)
     62		__field(	int,			off		)
     63		__field(	void __percpu *,	ptr		)
     64	),
     65
     66	TP_fast_assign(
     67		__entry->base_addr	= base_addr;
     68		__entry->off		= off;
     69		__entry->ptr		= ptr;
     70	),
     71
     72	TP_printk("base_addr=%p off=%d ptr=%p",
     73		__entry->base_addr, __entry->off, __entry->ptr)
     74);
     75
     76TRACE_EVENT(percpu_alloc_percpu_fail,
     77
     78	TP_PROTO(bool reserved, bool is_atomic, size_t size, size_t align),
     79
     80	TP_ARGS(reserved, is_atomic, size, align),
     81
     82	TP_STRUCT__entry(
     83		__field(	bool,	reserved	)
     84		__field(	bool,	is_atomic	)
     85		__field(	size_t,	size		)
     86		__field(	size_t, align		)
     87	),
     88
     89	TP_fast_assign(
     90		__entry->reserved	= reserved;
     91		__entry->is_atomic	= is_atomic;
     92		__entry->size		= size;
     93		__entry->align		= align;
     94	),
     95
     96	TP_printk("reserved=%d is_atomic=%d size=%zu align=%zu",
     97		  __entry->reserved, __entry->is_atomic,
     98		  __entry->size, __entry->align)
     99);
    100
    101TRACE_EVENT(percpu_create_chunk,
    102
    103	TP_PROTO(void *base_addr),
    104
    105	TP_ARGS(base_addr),
    106
    107	TP_STRUCT__entry(
    108		__field(	void *, base_addr	)
    109	),
    110
    111	TP_fast_assign(
    112		__entry->base_addr	= base_addr;
    113	),
    114
    115	TP_printk("base_addr=%p", __entry->base_addr)
    116);
    117
    118TRACE_EVENT(percpu_destroy_chunk,
    119
    120	TP_PROTO(void *base_addr),
    121
    122	TP_ARGS(base_addr),
    123
    124	TP_STRUCT__entry(
    125		__field(	void *,	base_addr	)
    126	),
    127
    128	TP_fast_assign(
    129		__entry->base_addr	= base_addr;
    130	),
    131
    132	TP_printk("base_addr=%p", __entry->base_addr)
    133);
    134
    135#endif /* _TRACE_PERCPU_H */
    136
    137#include <trace/define_trace.h>