Staging
v0.8.1
https://github.com/torvalds/linux
Raw File
Tip revision: 4fe89d07dcc2804c8b562f6c7896a45643d34b2f authored by Linus Torvalds on 02 October 2022, 21:09:07 UTC
Linux 6.0
Tip revision: 4fe89d0
tsc.h
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __PERF_TSC_H
#define __PERF_TSC_H

#include <linux/types.h>

#include "event.h"

struct perf_tsc_conversion {
	u16 time_shift;
	u32 time_mult;
	u64 time_zero;
	u64 time_cycles;
	u64 time_mask;

	bool cap_user_time_zero;
	bool cap_user_time_short;
};

struct perf_event_mmap_page;

int perf_read_tsc_conversion(const struct perf_event_mmap_page *pc,
			     struct perf_tsc_conversion *tc);

u64 perf_time_to_tsc(u64 ns, struct perf_tsc_conversion *tc);
u64 tsc_to_perf_time(u64 cyc, struct perf_tsc_conversion *tc);
u64 rdtsc(void);
double arch_get_tsc_freq(void);

size_t perf_event__fprintf_time_conv(union perf_event *event, FILE *fp);

#endif // __PERF_TSC_H
back to top