From: Stefan Hajnoczi <stefanha@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: qemu-devel@nongnu.org, "Tanish Desai" <tanishdesai37@gmail.com>,
"Manos Pitsidianakis" <manos.pitsidianakis@linaro.org>,
"Mads Ynddal" <mads@ynddal.dk>,
"Daniel P . Berrangé" <berrange@redhat.com>,
"Zhao Liu" <zhao1.liu@intel.com>,
qemu-rust@nongnu.org
Subject: Re: [PATCH v2 00/16] tracetool: add Rust support
Date: Wed, 1 Oct 2025 11:24:00 -0400 [thread overview]
Message-ID: <20251001152400.GA182593@fedora> (raw)
In-Reply-To: <20250929154938.594389-1-pbonzini@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 5984 bytes --]
On Mon, Sep 29, 2025 at 05:49:22PM +0200, Paolo Bonzini wrote:
> This is almost the same as v1, other than:
> - more dead code removal in patches 2 and 8
> - renaming a function in patch 8, and consequent change to test vectors
>
> It adds Rust support to tracetool and tracepoint support for the pl011
> device. All the backends are supported except dtrace and ust.
>
> Patches 1-5 are cleanups.
>
> Patches 6-7 are tracetool patches that have been posted before, now
> rebased on top of the "make check-tracetool" series. Their purpose
> is to simplify .h code generation for tracetool backends, and these
> simplifications translate directly to the new .rs code generation.
>
> Patches 8-9 add the minimal support for adding tracepoint functions
> in Rust, albeit with no content and thus no actual tracing.
>
> Patches 10-11 add back tracepoints to the Rust pl011 device model.
>
> Patches 12-16 finally add Rust code generation to the supported
> tracing backends.
>
> Paolo
>
> Paolo Bonzini (8):
> tracetool: fix usage of try_import()
> tracetool: remove dead code
> treewide: remove unnessary "coding" header
> tracetool: add SPDX headers
> trace/ftrace: move snprintf+write from tracepoints to ftrace.c
> rust: qdev: add minimal clock bindings
> rust: pl011: add tracepoints
> log: change qemu_loglevel to unsigned
>
> Tanish Desai (8):
> tracetool: add CHECK_TRACE_EVENT_GET_STATE
> tracetool/backend: remove redundant trace event checks
> tracetool: Add Rust format support
> rust: add trace crate
> tracetool/simple: add Rust support
> tracetool/log: add Rust support
> tracetool/ftrace: add Rust support
> tracetool/syslog: add Rust support
>
> docs/conf.py | 2 -
> docs/sphinx-static/theme_overrides.css | 3 +-
> include/qemu/log-for-trace.h | 4 +-
> include/qemu/log.h | 44 ++--
> tests/tracetool/ftrace.h | 28 +--
> tests/tracetool/log.h | 16 +-
> trace/ftrace.h | 1 +
> trace/ftrace.c | 15 ++
> util/log.c | 2 +-
> hw/char/trace-events | 14 +-
> rust/Cargo.lock | 8 +
> rust/Cargo.toml | 1 +
> rust/hw/char/pl011/Cargo.toml | 1 +
> rust/hw/char/pl011/meson.build | 1 +
> rust/hw/char/pl011/src/device.rs | 57 +++--
> rust/hw/core/src/qdev.rs | 33 +++
> rust/meson.build | 2 +-
> rust/trace/Cargo.toml | 19 ++
> rust/trace/meson.build | 19 ++
> rust/trace/src/lib.rs | 39 ++++
> rust/util/src/log.rs | 2 +-
> scripts/analyse-locks-simpletrace.py | 1 -
> scripts/modinfo-collect.py | 1 -
> scripts/modinfo-generate.py | 1 -
> scripts/oss-fuzz/minimize_qtest_trace.py | 1 -
> scripts/oss-fuzz/output_reproducer.py | 1 -
> .../oss-fuzz/reorder_fuzzer_qtest_trace.py | 1 -
> scripts/probe-gdb-support.py | 1 -
> scripts/qapi/error.py | 2 -
> scripts/qapi/expr.py | 2 -
> scripts/qapi/gen.py | 2 -
> scripts/qapi/parser.py | 2 -
> scripts/qapi/schema.py | 2 -
> scripts/qemu-plugin-symbols.py | 1 -
> scripts/qemugdb/tcg.py | 2 -
> scripts/qemugdb/timers.py | 1 -
> scripts/replay-dump.py | 1 -
> scripts/tracetool.py | 1 -
> scripts/tracetool/__init__.py | 202 ++++++++++++++----
> scripts/tracetool/backend/__init__.py | 43 ++--
> scripts/tracetool/backend/dtrace.py | 2 +-
> scripts/tracetool/backend/ftrace.py | 26 +--
> scripts/tracetool/backend/log.py | 22 +-
> scripts/tracetool/backend/simple.py | 17 +-
> scripts/tracetool/backend/syslog.py | 17 +-
> scripts/tracetool/backend/ust.py | 2 +-
> scripts/tracetool/format/__init__.py | 4 +-
> scripts/tracetool/format/c.py | 2 +-
> scripts/tracetool/format/d.py | 2 +-
> scripts/tracetool/format/h.py | 18 +-
> scripts/tracetool/format/log_stap.py | 4 +-
> scripts/tracetool/format/rs.py | 64 ++++++
> scripts/tracetool/format/simpletrace_stap.py | 4 +-
> scripts/tracetool/format/stap.py | 2 +-
> scripts/tracetool/format/ust_events_c.py | 2 +-
> scripts/tracetool/format/ust_events_h.py | 2 +-
> tests/tracetool/ftrace.rs | 40 ++++
> tests/tracetool/log.rs | 44 ++++
> tests/tracetool/simple.rs | 40 ++++
> tests/tracetool/syslog.rs | 40 ++++
> tests/tracetool/tracetool-test.py | 2 +
> trace/meson.build | 8 +-
> 62 files changed, 720 insertions(+), 223 deletions(-)
> create mode 100644 rust/trace/Cargo.toml
> create mode 100644 rust/trace/meson.build
> create mode 100644 rust/trace/src/lib.rs
> create mode 100644 scripts/tracetool/format/rs.py
> create mode 100644 tests/tracetool/ftrace.rs
> create mode 100644 tests/tracetool/log.rs
> create mode 100644 tests/tracetool/simple.rs
> create mode 100644 tests/tracetool/syslog.rs
>
> --
> 2.51.0
>
Thanks, applied to my tracing tree:
https://gitlab.com/stefanha/qemu/commits/tracing
Stefan
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
prev parent reply other threads:[~2025-10-01 15:25 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-29 15:49 [PATCH v2 00/16] tracetool: add Rust support Paolo Bonzini
2025-09-29 15:49 ` [PATCH 01/16] tracetool: fix usage of try_import() Paolo Bonzini
2025-09-29 15:49 ` [PATCH 02/16] tracetool: remove dead code Paolo Bonzini
2025-09-29 15:49 ` [PATCH 03/16] treewide: remove unnessary "coding" header Paolo Bonzini
2025-09-29 15:49 ` [PATCH 04/16] tracetool: add SPDX headers Paolo Bonzini
2025-09-29 15:49 ` [PATCH 05/16] trace/ftrace: move snprintf+write from tracepoints to ftrace.c Paolo Bonzini
2025-09-29 15:49 ` [PATCH 06/16] tracetool: add CHECK_TRACE_EVENT_GET_STATE Paolo Bonzini
2025-09-29 15:49 ` [PATCH 07/16] tracetool/backend: remove redundant trace event checks Paolo Bonzini
2025-09-29 15:49 ` [PATCH 08/16] tracetool: Add Rust format support Paolo Bonzini
2025-09-29 15:49 ` [PATCH 09/16] rust: add trace crate Paolo Bonzini
2025-09-29 15:49 ` [PATCH 10/16] rust: qdev: add minimal clock bindings Paolo Bonzini
2025-09-29 15:49 ` [PATCH 11/16] rust: pl011: add tracepoints Paolo Bonzini
2025-09-29 15:49 ` [PATCH 12/16] tracetool/simple: add Rust support Paolo Bonzini
2025-09-29 15:49 ` [PATCH 13/16] log: change qemu_loglevel to unsigned Paolo Bonzini
2025-09-29 15:49 ` [PATCH 14/16] tracetool/log: add Rust support Paolo Bonzini
2025-09-29 15:49 ` [PATCH 15/16] tracetool/ftrace: " Paolo Bonzini
2025-09-29 15:49 ` [PATCH 16/16] tracetool/syslog: " Paolo Bonzini
2025-10-01 15:24 ` Stefan Hajnoczi [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251001152400.GA182593@fedora \
--to=stefanha@redhat.com \
--cc=berrange@redhat.com \
--cc=mads@ynddal.dk \
--cc=manos.pitsidianakis@linaro.org \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-rust@nongnu.org \
--cc=tanishdesai37@gmail.com \
--cc=zhao1.liu@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.