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

trace_stat.h (992B)


      1// SPDX-License-Identifier: GPL-2.0
      2#ifndef __TRACE_STAT_H
      3#define __TRACE_STAT_H
      4
      5#include <linux/seq_file.h>
      6
      7/*
      8 * If you want to provide a stat file (one-shot statistics), fill
      9 * an iterator with stat_start/stat_next and a stat_show callbacks.
     10 * The others callbacks are optional.
     11 */
     12struct tracer_stat {
     13	/* The name of your stat file */
     14	const char		*name;
     15	/* Iteration over statistic entries */
     16	void			*(*stat_start)(struct tracer_stat *trace);
     17	void			*(*stat_next)(void *prev, int idx);
     18	/* Compare two entries for stats sorting */
     19	cmp_func_t		stat_cmp;
     20	/* Print a stat entry */
     21	int			(*stat_show)(struct seq_file *s, void *p);
     22	/* Release an entry */
     23	void			(*stat_release)(void *stat);
     24	/* Print the headers of your stat entries */
     25	int			(*stat_headers)(struct seq_file *s);
     26};
     27
     28/*
     29 * Destroy or create a stat file
     30 */
     31extern int register_stat_tracer(struct tracer_stat *trace);
     32extern void unregister_stat_tracer(struct tracer_stat *trace);
     33
     34#endif /* __TRACE_STAT_H */