qemu/scripts
Stefan Hajnoczi 3932ef3ffb trace: add TRACE_<event>_BACKEND_DSTATE()
QEMU keeps track of trace event enabled/disabled state and provides
monitor commands to inspect and modify the "dstate".  SystemTap and
LTTng UST maintain independent enabled/disabled states for each trace
event, the other backends rely on QEMU dstate.

Introduce a new per-event macro that combines backend-specific dstate
like this:

  #define TRACE_MY_EVENT_BACKEND_DSTATE() ( \
      QEMU_MY_EVENT_ENABLED() || /* SystemTap */ \
      tracepoint_enabled(qemu, my_event) /* LTTng UST */ || \
      false)

This will be used to extend trace_event_get_state() in the next patch.

[Daniel Berrange pointed out that QEMU_MY_EVENT_ENABLED() must be true
by default, not false.  This way events will fire even if the DTrace
implementation does not implement the SystemTap semaphores feature.

Ubuntu Precise uses lttng-ust-dev 2.0.2 which does not have
tracepoint_enabled(), so we need a compatibility wrapper to keep Travis
builds passing.
--Stefan]

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20170731140718.22010-2-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>

fixup! trace: add TRACE_<event>_BACKEND_DSTATE()
2017-08-01 12:07:48 +01:00
..
coccinelle coccinelle: add a script to optimize tcg op using tcg_gen_extract() 2017-07-19 14:45:15 -07:00
kvm vmxcap: update for September 2016 SDM 2017-03-03 16:40:02 +01:00
modules scripts: Allow block module to not define BlockDriver 2016-10-07 14:14:06 +02:00
qemu-guest-agent qemu-ga: sample fsfreeze hooks 2013-01-08 16:38:12 -06:00
qemugdb scripts/qemugdb/mtree.py: fix up mtree dump 2017-04-07 15:24:56 +01:00
qmp scripts/qmp/qom-set: fix the value argument passed to srv.command() 2017-05-23 13:28:17 +02:00
tracetool trace: add TRACE_<event>_BACKEND_DSTATE() 2017-08-01 12:07:48 +01:00
analyse-9p-simpletrace.py
analyze-inclusions Move target-* CPU file into a target/ folder 2016-12-20 21:52:12 +01:00
analyze-migration.py migration: fix analyze-migration.py script 2015-11-04 13:40:13 +01:00
check-qerror.sh
checkpatch.pl error: Implement the warn and free Error functions 2017-07-13 13:50:19 +02:00
clean-header-guards.pl scripts: Switch to more portable Perl shebang 2017-05-10 10:19:24 +03:00
clean-includes scripts/clean-includes: added duplicate #include check 2016-10-28 18:17:23 +03:00
cleanup-trace-events.pl scripts: Switch to more portable Perl shebang 2017-05-10 10:19:24 +03:00
cocci-macro-file.h coccinelle: add g_assert_cmp* to macro file 2016-05-23 16:53:46 +02:00
coverity-model.c coverity-model: model address_space_read/write 2017-03-15 13:59:16 +01:00
create_config build-sys: define QEMU_VERSION_{MAJOR, MINOR, MICRO} 2016-09-19 17:32:21 +02:00
device-crash-test device-crash-test: Fix regexp on whitelist 2017-07-17 15:41:29 -03:00
disas-objdump.pl scripts: Switch to more portable Perl shebang 2017-05-10 10:19:24 +03:00
dump-guest-memory.py scripts/dump-guest-memory.py: fix int128_get64 on recent gcc 2017-03-14 13:26:36 +01:00
extract-vsssdk-headers Add a script to extract VSS SDK headers on POSIX system 2013-09-09 14:17:56 -05:00
feature_to_c.sh scripts: Use $(..) instead of deprecated .. 2016-06-07 18:19:23 +03:00
get_maintainer.pl trivial patches for 2017-05-10 2017-05-10 12:31:19 -04:00
git.orderfile add scripts/git.orderfile 2017-07-20 09:56:41 +02:00
gtester-cat
hxtool hxtool: remove dead -q option 2017-07-11 17:42:49 +03:00
make_device_config.sh scripts: Use $(..) instead of deprecated .. 2016-06-07 18:19:23 +03:00
make-release make-release: Record SeaBIOS version 2014-03-31 15:02:04 +01:00
ordereddict.py qapi: Clean up qapi.py per pep8 2015-10-12 18:44:54 +02:00
qapi2texi.py docs: fix broken paths to docs/devel/qapi-code-gen.txt 2017-07-31 13:12:41 +03:00
qapi-commands.py scripts: use build_ prefix for string not piped through cgen() 2017-07-12 17:51:54 +02:00
qapi-event.py scripts: use build_ prefix for string not piped through cgen() 2017-07-12 17:51:54 +02:00
qapi-introspect.py qapi: Prefer single-quoted strings more consistently 2017-03-16 07:13:02 +01:00
qapi-types.py qapi: Prefer single-quoted strings more consistently 2017-03-16 07:13:02 +01:00
qapi-visit.py qapi: Remove visit_start_alternate() parameter promote_int 2017-06-20 14:31:31 +02:00
qapi.py qapi: Introduce a first class 'null' type 2017-07-24 13:35:11 +02:00
qemu-binfmt-conf.sh scripts/qemu-binfmt-conf.sh: Fix shell portability issue 2017-05-10 10:19:23 +03:00
qemu-gdb.py gdb command: qemu handlers 2015-10-29 17:59:27 +00:00
qemu.py qemu.py: Add QEMUMachine.exitcode() method 2017-06-05 14:59:09 -03:00
qtest.py iotest: fix python based IO tests 2016-07-26 18:28:40 +02:00
refresh-pxe-roms.sh roms: rewrite scripts/refresh-pxe-roms.sh 2013-09-30 09:44:35 +02:00
shaderinclude.pl scripts: Switch to more portable Perl shebang 2017-05-10 10:19:24 +03:00
show-fixed-bugs.sh scripts: Add a script to check for bug URLs in the git log 2016-09-22 20:20:53 +02:00
signrom.py linuxboot_dma: avoid guest ABI breakage on gcc vs. clang compilation 2016-08-09 22:57:36 +02:00
simpletrace.py docs: fix broken paths to docs/devel/tracing.txt 2017-07-31 13:12:53 +03:00
switch-timer-api scripts: Switch to more portable Perl shebang 2017-05-10 10:19:24 +03:00
texi2pod.pl scripts: Switch to more portable Perl shebang 2017-05-10 10:19:24 +03:00
tracetool.py trace: switch to modular code generation for sub-directories 2017-01-31 17:11:18 +00:00
update-linux-headers.sh linux-headers: update 2017-05-19 12:29:01 +02:00
vmstate-static-checker.py vmstate-static-checker: update white list with spapr_pci 2017-02-28 11:30:22 +00:00