tracetool: drop the probe "__nocheck__" wrapping
Every generated inline probe function is wrapped with a
trivial caller that has a hard-coded condition test:
static inline void _nocheck__trace_test_wibble(void * context, int value)
{
tracepoint(qemu, test_wibble, context, value);
}
static inline void trace_test_wibble(void * context, int value)
{
if (true) {
_nocheck__trace_test_wibble(context, value);
}
}
This was introduced for TCG probes back in
864a2178: trace: [tcg] Do not generate TCG code to trace dynamically-disabled events
but is obsolete since
126d4123 tracing: excise the tcg related from tracetool
This commit removes the wrapping such that we have
static inline void trace_test_wibble(void * context, int value)
{
tracepoint(qemu, test_wibble, context, value);
}
The default build of qemu-system-x86_64 on Fedora with the
'log' backend, has its size reduced by 1 MB
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Message-id: 20250916081638.764020-7-berrange@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
da949d495d
commit
c47db9b1db
8 changed files with 16 additions and 115 deletions
|
|
@ -338,7 +338,6 @@ class Event(object):
|
|||
return self._FMT.findall(self.fmt)
|
||||
|
||||
QEMU_TRACE = "trace_%(name)s"
|
||||
QEMU_TRACE_NOCHECK = "_nocheck__" + QEMU_TRACE
|
||||
QEMU_TRACE_TCG = QEMU_TRACE + "_tcg"
|
||||
QEMU_DSTATE = "_TRACE_%(NAME)s_DSTATE"
|
||||
QEMU_BACKEND_DSTATE = "TRACE_%(NAME)s_BACKEND_DSTATE"
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ def generate(events, backend, group):
|
|||
out('',
|
||||
'static inline void %(api)s(%(args)s)',
|
||||
'{',
|
||||
api=e.api(e.QEMU_TRACE_NOCHECK),
|
||||
api=e.api(),
|
||||
args=e.args)
|
||||
|
||||
if "disable" not in e.properties:
|
||||
|
|
@ -72,20 +72,6 @@ def generate(events, backend, group):
|
|||
|
||||
out('}')
|
||||
|
||||
cond = "true"
|
||||
|
||||
out('',
|
||||
'static inline void %(api)s(%(args)s)',
|
||||
'{',
|
||||
' if (%(cond)s) {',
|
||||
' %(api_nocheck)s(%(names)s);',
|
||||
' }',
|
||||
'}',
|
||||
api=e.api(),
|
||||
api_nocheck=e.api(e.QEMU_TRACE_NOCHECK),
|
||||
args=e.args,
|
||||
names=", ".join(e.args.names()),
|
||||
cond=cond)
|
||||
|
||||
backend.generate_end(events, group)
|
||||
|
||||
|
|
|
|||
|
|
@ -29,31 +29,17 @@ extern uint16_t _TRACE_TEST_WIBBLE_DSTATE;
|
|||
QEMU_TEST_BLAH_ENABLED() || \
|
||||
false)
|
||||
|
||||
static inline void _nocheck__trace_test_blah(void *context, const char *filename)
|
||||
{
|
||||
QEMU_TEST_BLAH(context, filename);
|
||||
}
|
||||
|
||||
static inline void trace_test_blah(void *context, const char *filename)
|
||||
{
|
||||
if (true) {
|
||||
_nocheck__trace_test_blah(context, filename);
|
||||
}
|
||||
QEMU_TEST_BLAH(context, filename);
|
||||
}
|
||||
|
||||
#define TRACE_TEST_WIBBLE_BACKEND_DSTATE() ( \
|
||||
QEMU_TEST_WIBBLE_ENABLED() || \
|
||||
false)
|
||||
|
||||
static inline void _nocheck__trace_test_wibble(void *context, int value)
|
||||
static inline void trace_test_wibble(void *context, int value)
|
||||
{
|
||||
QEMU_TEST_WIBBLE(context, value);
|
||||
}
|
||||
|
||||
static inline void trace_test_wibble(void *context, int value)
|
||||
{
|
||||
if (true) {
|
||||
_nocheck__trace_test_wibble(context, value);
|
||||
}
|
||||
}
|
||||
#endif /* TRACE_TESTSUITE_GENERATED_TRACERS_H */
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ extern uint16_t _TRACE_TEST_WIBBLE_DSTATE;
|
|||
trace_event_get_state_dynamic_by_id(TRACE_TEST_BLAH) || \
|
||||
false)
|
||||
|
||||
static inline void _nocheck__trace_test_blah(void *context, const char *filename)
|
||||
static inline void trace_test_blah(void *context, const char *filename)
|
||||
{
|
||||
{
|
||||
char ftrace_buf[MAX_TRACE_STRLEN];
|
||||
|
|
@ -36,18 +36,11 @@ static inline void _nocheck__trace_test_blah(void *context, const char *filename
|
|||
}
|
||||
}
|
||||
|
||||
static inline void trace_test_blah(void *context, const char *filename)
|
||||
{
|
||||
if (true) {
|
||||
_nocheck__trace_test_blah(context, filename);
|
||||
}
|
||||
}
|
||||
|
||||
#define TRACE_TEST_WIBBLE_BACKEND_DSTATE() ( \
|
||||
trace_event_get_state_dynamic_by_id(TRACE_TEST_WIBBLE) || \
|
||||
false)
|
||||
|
||||
static inline void _nocheck__trace_test_wibble(void *context, int value)
|
||||
static inline void trace_test_wibble(void *context, int value)
|
||||
{
|
||||
{
|
||||
char ftrace_buf[MAX_TRACE_STRLEN];
|
||||
|
|
@ -57,17 +50,10 @@ static inline void _nocheck__trace_test_wibble(void *context, int value)
|
|||
#line 5 "trace-events"
|
||||
trlen = snprintf(ftrace_buf, MAX_TRACE_STRLEN,
|
||||
"test_wibble " "Wibble context=%p value=%d" "\n" , context, value);
|
||||
#line 61 "ftrace.h"
|
||||
#line 54 "ftrace.h"
|
||||
trlen = MIN(trlen, MAX_TRACE_STRLEN - 1);
|
||||
unused = write(trace_marker_fd, ftrace_buf, trlen);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static inline void trace_test_wibble(void *context, int value)
|
||||
{
|
||||
if (true) {
|
||||
_nocheck__trace_test_wibble(context, value);
|
||||
}
|
||||
}
|
||||
#endif /* TRACE_TESTSUITE_GENERATED_TRACERS_H */
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ extern uint16_t _TRACE_TEST_WIBBLE_DSTATE;
|
|||
trace_event_get_state_dynamic_by_id(TRACE_TEST_BLAH) || \
|
||||
false)
|
||||
|
||||
static inline void _nocheck__trace_test_blah(void *context, const char *filename)
|
||||
static inline void trace_test_blah(void *context, const char *filename)
|
||||
{
|
||||
if (trace_event_get_state(TRACE_TEST_BLAH) && qemu_loglevel_mask(LOG_TRACE)) {
|
||||
#line 4 "trace-events"
|
||||
|
|
@ -28,30 +28,16 @@ static inline void _nocheck__trace_test_blah(void *context, const char *filename
|
|||
}
|
||||
}
|
||||
|
||||
static inline void trace_test_blah(void *context, const char *filename)
|
||||
{
|
||||
if (true) {
|
||||
_nocheck__trace_test_blah(context, filename);
|
||||
}
|
||||
}
|
||||
|
||||
#define TRACE_TEST_WIBBLE_BACKEND_DSTATE() ( \
|
||||
trace_event_get_state_dynamic_by_id(TRACE_TEST_WIBBLE) || \
|
||||
false)
|
||||
|
||||
static inline void _nocheck__trace_test_wibble(void *context, int value)
|
||||
static inline void trace_test_wibble(void *context, int value)
|
||||
{
|
||||
if (trace_event_get_state(TRACE_TEST_WIBBLE) && qemu_loglevel_mask(LOG_TRACE)) {
|
||||
#line 5 "trace-events"
|
||||
qemu_log("test_wibble " "Wibble context=%p value=%d" "\n", context, value);
|
||||
#line 48 "log.h"
|
||||
}
|
||||
}
|
||||
|
||||
static inline void trace_test_wibble(void *context, int value)
|
||||
{
|
||||
if (true) {
|
||||
_nocheck__trace_test_wibble(context, value);
|
||||
#line 41 "log.h"
|
||||
}
|
||||
}
|
||||
#endif /* TRACE_TESTSUITE_GENERATED_TRACERS_H */
|
||||
|
|
|
|||
|
|
@ -20,35 +20,21 @@ void _simple_trace_test_wibble(void *context, int value);
|
|||
trace_event_get_state_dynamic_by_id(TRACE_TEST_BLAH) || \
|
||||
false)
|
||||
|
||||
static inline void _nocheck__trace_test_blah(void *context, const char *filename)
|
||||
static inline void trace_test_blah(void *context, const char *filename)
|
||||
{
|
||||
if (trace_event_get_state(TRACE_TEST_BLAH)) {
|
||||
_simple_trace_test_blah(context, filename);
|
||||
}
|
||||
}
|
||||
|
||||
static inline void trace_test_blah(void *context, const char *filename)
|
||||
{
|
||||
if (true) {
|
||||
_nocheck__trace_test_blah(context, filename);
|
||||
}
|
||||
}
|
||||
|
||||
#define TRACE_TEST_WIBBLE_BACKEND_DSTATE() ( \
|
||||
trace_event_get_state_dynamic_by_id(TRACE_TEST_WIBBLE) || \
|
||||
false)
|
||||
|
||||
static inline void _nocheck__trace_test_wibble(void *context, int value)
|
||||
static inline void trace_test_wibble(void *context, int value)
|
||||
{
|
||||
if (trace_event_get_state(TRACE_TEST_WIBBLE)) {
|
||||
_simple_trace_test_wibble(context, value);
|
||||
}
|
||||
}
|
||||
|
||||
static inline void trace_test_wibble(void *context, int value)
|
||||
{
|
||||
if (true) {
|
||||
_nocheck__trace_test_wibble(context, value);
|
||||
}
|
||||
}
|
||||
#endif /* TRACE_TESTSUITE_GENERATED_TRACERS_H */
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ extern uint16_t _TRACE_TEST_WIBBLE_DSTATE;
|
|||
trace_event_get_state_dynamic_by_id(TRACE_TEST_BLAH) || \
|
||||
false)
|
||||
|
||||
static inline void _nocheck__trace_test_blah(void *context, const char *filename)
|
||||
static inline void trace_test_blah(void *context, const char *filename)
|
||||
{
|
||||
if (trace_event_get_state(TRACE_TEST_BLAH)) {
|
||||
#line 4 "trace-events"
|
||||
|
|
@ -28,30 +28,16 @@ static inline void _nocheck__trace_test_blah(void *context, const char *filename
|
|||
}
|
||||
}
|
||||
|
||||
static inline void trace_test_blah(void *context, const char *filename)
|
||||
{
|
||||
if (true) {
|
||||
_nocheck__trace_test_blah(context, filename);
|
||||
}
|
||||
}
|
||||
|
||||
#define TRACE_TEST_WIBBLE_BACKEND_DSTATE() ( \
|
||||
trace_event_get_state_dynamic_by_id(TRACE_TEST_WIBBLE) || \
|
||||
false)
|
||||
|
||||
static inline void _nocheck__trace_test_wibble(void *context, int value)
|
||||
static inline void trace_test_wibble(void *context, int value)
|
||||
{
|
||||
if (trace_event_get_state(TRACE_TEST_WIBBLE)) {
|
||||
#line 5 "trace-events"
|
||||
syslog(LOG_INFO, "test_wibble " "Wibble context=%p value=%d" , context, value);
|
||||
#line 48 "syslog.h"
|
||||
}
|
||||
}
|
||||
|
||||
static inline void trace_test_wibble(void *context, int value)
|
||||
{
|
||||
if (true) {
|
||||
_nocheck__trace_test_wibble(context, value);
|
||||
#line 41 "syslog.h"
|
||||
}
|
||||
}
|
||||
#endif /* TRACE_TESTSUITE_GENERATED_TRACERS_H */
|
||||
|
|
|
|||
|
|
@ -25,31 +25,17 @@ extern uint16_t _TRACE_TEST_WIBBLE_DSTATE;
|
|||
tracepoint_enabled(qemu, test_blah) || \
|
||||
false)
|
||||
|
||||
static inline void _nocheck__trace_test_blah(void *context, const char *filename)
|
||||
{
|
||||
tracepoint(qemu, test_blah, context, filename);
|
||||
}
|
||||
|
||||
static inline void trace_test_blah(void *context, const char *filename)
|
||||
{
|
||||
if (true) {
|
||||
_nocheck__trace_test_blah(context, filename);
|
||||
}
|
||||
tracepoint(qemu, test_blah, context, filename);
|
||||
}
|
||||
|
||||
#define TRACE_TEST_WIBBLE_BACKEND_DSTATE() ( \
|
||||
tracepoint_enabled(qemu, test_wibble) || \
|
||||
false)
|
||||
|
||||
static inline void _nocheck__trace_test_wibble(void *context, int value)
|
||||
static inline void trace_test_wibble(void *context, int value)
|
||||
{
|
||||
tracepoint(qemu, test_wibble, context, value);
|
||||
}
|
||||
|
||||
static inline void trace_test_wibble(void *context, int value)
|
||||
{
|
||||
if (true) {
|
||||
_nocheck__trace_test_wibble(context, value);
|
||||
}
|
||||
}
|
||||
#endif /* TRACE_TESTSUITE_GENERATED_TRACERS_H */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue