All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Hajnoczi <stefanha@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: qemu-devel@nongnu.org, berrange@redhat.com, mads@ynddal.dk
Subject: Re: [PATCH v2] tracing: deprecate "ust" tracing backend
Date: Tue, 23 Sep 2025 14:47:35 -0400	[thread overview]
Message-ID: <20250923184735.GE509965@fedora> (raw)
In-Reply-To: <20250923074418.87716-1-pbonzini@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 3171 bytes --]

On Tue, Sep 23, 2025 at 09:44:18AM +0200, Paolo Bonzini wrote:
> The "ust" backend is complex (tracetool contains two output formats just
> for that backend).  It is not clear if if it has any users, and LTTng
> anyway can use the uprobe tracepoints provided by the "dtrace" backend,
> therefore deprecate "ust".

LTTng UST cannot trace all of QEMU's SDT probes because QEMU uses SDT
semaphores. Semaphores appear to be unsupported by LTTng:
https://bugs.lttng.org/issues/1180

Here is an example that won't work:

  static MemTxResult  memory_region_read_accessor(MemoryRegion *mr,
                                                  hwaddr addr,
                                                  uint64_t *value,
                                                  unsigned size,
                                                  signed shift,
                                                  uint64_t mask,
                                                  MemTxAttrs attrs)
  {
      uint64_t tmp;
  
      tmp = mr->ops->read(mr->opaque, addr, size);
      if (mr->subpage) {
          trace_memory_region_subpage_read(get_cpu_index(), mr, addr, tmp, size);
      } else if (trace_event_get_state_backends(TRACE_MEMORY_REGION_OPS_READ)) {
                 ^^^ semaphore ^^^
          hwaddr abs_addr = memory_region_to_absolute_addr(mr, addr);
          trace_memory_region_ops_read(get_cpu_index(), mr, abs_addr, tmp, size,
                                       memory_region_name(mr));
      }

However, I don't remember hearing from LTTng UST users all these years,
so I think it's okay to deprecate this tracing backend.

Please update the commit description to mention that trace events that
use SDT semaphores do not work with LTTng UST.

Thanks,
Stefan

> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  docs/about/deprecated.rst | 9 +++++++++
>  meson.build               | 4 ++++
>  2 files changed, 13 insertions(+)
> 
> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
> index aa300bbd507..57250f9d47f 100644
> --- a/docs/about/deprecated.rst
> +++ b/docs/about/deprecated.rst
> @@ -533,3 +533,12 @@ command documentation for details on the ``fdset`` usage.
>  
>  The ``zero-blocks`` capability was part of the block migration which
>  doesn't exist anymore since it was removed in QEMU v9.1.
> +
> +Host features
> +-------------
> +
> +``ust`` tracing backend
> +-----------------------
> +
> +LTTng can use uprobe tracepoints, therefore it is recommended to use
> +the ``dtrace`` backend instead.
> diff --git a/meson.build b/meson.build
> index 72da97829ab..b5e2186b35e 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -5073,3 +5073,7 @@ if not actually_reloc and (host_os == 'windows' or get_option('relocatable'))
>    message('QEMU will have to be installed under ' + get_option('prefix') + '.')
>    message('Use --disable-relocatable to remove this warning.')
>  endif
> +
> +if 'ust' in get_option('trace_backends')
> +  warning('ust trace backend is deprecated, use dtrace backend for uprobe support')
> +endif
> -- 
> 2.51.0
> 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

      parent reply	other threads:[~2025-09-23 18:48 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-23  7:44 [PATCH v2] tracing: deprecate "ust" tracing backend Paolo Bonzini
2025-09-23  8:43 ` Daniel P. Berrangé
2025-09-23 11:25 ` Alex Bennée
2025-09-23 18:47 ` 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=20250923184735.GE509965@fedora \
    --to=stefanha@redhat.com \
    --cc=berrange@redhat.com \
    --cc=mads@ynddal.dk \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /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.