xref: /openbmc/linux/include/linux/trace_clock.h (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
214131f2fSIngo Molnar #ifndef _LINUX_TRACE_CLOCK_H
314131f2fSIngo Molnar #define _LINUX_TRACE_CLOCK_H
414131f2fSIngo Molnar 
514131f2fSIngo Molnar /*
614131f2fSIngo Molnar  * 3 trace clock variants, with differing scalability/precision
714131f2fSIngo Molnar  * tradeoffs:
814131f2fSIngo Molnar  *
914131f2fSIngo Molnar  *  -   local: CPU-local trace clock
1014131f2fSIngo Molnar  *  -  medium: scalable global clock with some jitter
1114131f2fSIngo Molnar  *  -  global: globally monotonic, serialized clock
1214131f2fSIngo Molnar  */
1314131f2fSIngo Molnar #include <linux/compiler.h>
1414131f2fSIngo Molnar #include <linux/types.h>
1514131f2fSIngo Molnar 
168cbd9cc6SDavid Sharp #include <asm/trace_clock.h>
178cbd9cc6SDavid Sharp 
1814131f2fSIngo Molnar extern u64 notrace trace_clock_local(void);
1914131f2fSIngo Molnar extern u64 notrace trace_clock(void);
208aacf017SSteven Rostedt (Red Hat) extern u64 notrace trace_clock_jiffies(void);
2114131f2fSIngo Molnar extern u64 notrace trace_clock_global(void);
226249687fSSteven Rostedt extern u64 notrace trace_clock_counter(void);
2314131f2fSIngo Molnar 
2414131f2fSIngo Molnar #endif /* _LINUX_TRACE_CLOCK_H */
25