xref: /openbmc/qemu/include/qemu/qsp.h (revision 709395f8)
1 /*
2  * qsp.c - QEMU Synchronization Profiler
3  *
4  * Copyright (C) 2018, Emilio G. Cota <cota@braap.org>
5  *
6  * License: GNU GPL, version 2 or later.
7  *   See the COPYING file in the top-level directory.
8  *
9  * Note: this header file can *only* be included from thread.h.
10  */
11 #ifndef QEMU_QSP_H
12 #define QEMU_QSP_H
13 
14 #include "qemu/fprintf-fn.h"
15 
16 enum QSPSortBy {
17     QSP_SORT_BY_TOTAL_WAIT_TIME,
18     QSP_SORT_BY_AVG_WAIT_TIME,
19 };
20 
21 void qsp_report(FILE *f, fprintf_function cpu_fprintf, size_t max,
22                 enum QSPSortBy sort_by, bool callsite_coalesce);
23 
24 bool qsp_is_enabled(void);
25 void qsp_enable(void);
26 void qsp_disable(void);
27 void qsp_reset(void);
28 
29 #endif /* QEMU_QSP_H */
30