All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] package/qemu: add option to enable tracing (default no)
@ 2023-07-12 22:01 unixmania
  2023-09-02 16:01 ` Thomas Petazzoni via buildroot
  0 siblings, 1 reply; 2+ messages in thread
From: unixmania @ 2023-07-12 22:01 UTC (permalink / raw)
  To: buildroot; +Cc: Carlos Santos, Romain Naour

From: Carlos Santos <unixmania@gmail.com>

Tracing is a development feature for debugging, profiling, and observing
QEMU execution. It does not make sense to enable it by default, so add a
config to enable the "log" tracing backend (the default one). Options to
select other backends may be added in the future.

Also pull a patch already reviewed upstream to install the trace events
file only if necessary:

    https://patchwork.kernel.org/project/qemu-devel/patch/20230408010410.281263-1-casantos@redhat.com/

Signed-off-by: Carlos Santos <unixmania@gmail.com>
---
 ...-trace-events-file-only-if-necessary.patch | 29 +++++++++++++++++++
 package/qemu/Config.in                        |  9 ++++++
 package/qemu/qemu.mk                          |  6 ++++
 3 files changed, 44 insertions(+)
 create mode 100644 package/qemu/0004-tracing-install-trace-events-file-only-if-necessary.patch

diff --git a/package/qemu/0004-tracing-install-trace-events-file-only-if-necessary.patch b/package/qemu/0004-tracing-install-trace-events-file-only-if-necessary.patch
new file mode 100644
index 0000000000..0db9a6b647
--- /dev/null
+++ b/package/qemu/0004-tracing-install-trace-events-file-only-if-necessary.patch
@@ -0,0 +1,29 @@
+From 5c43da1e4983cc3c209b325a5228b6149e0a0ccf Mon Sep 17 00:00:00 2001
+From: Carlos Santos <casantos@redhat.com>
+Date: Fri, 24 Mar 2023 21:40:22 -0300
+Subject: [PATCH] tracing: install trace events file only if necessary
+
+It is not useful when configuring with --enable-trace-backends=nop.
+
+Signed-off-by: Carlos Santos <casantos@redhat.com>
+Signed-off-by: Carlos Santos <unixmania@gmail.com>
+---
+ trace/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/trace/meson.build b/trace/meson.build
+index 8e80be895c..30b1d942eb 100644
+--- a/trace/meson.build
++++ b/trace/meson.build
+@@ -64,7 +64,7 @@ trace_events_all = custom_target('trace-events-all',
+                                  input: trace_events_files,
+                                  command: [ 'cat', '@INPUT@' ],
+                                  capture: true,
+-                                 install: true,
++                                 install: get_option('trace_backends') != [ 'nop' ],
+                                  install_dir: qemu_datadir)
+ 
+ if 'ust' in get_option('trace_backends')
+-- 
+2.31.1
+
diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index 6fb34a0dae..8d53ced300 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -106,6 +106,15 @@ config BR2_PACKAGE_QEMU_FDT
 	  Say 'y' here to have QEMU capable of constructing Device
 	  Trees, and passing them to the VMs.
 
+config BR2_PACKAGE_QEMU_TRACING
+	bool "Enable tracing"
+	help
+	  Say 'y' to enable the "log" tracing infrastructure in QEMU,
+	  used for debugging, profiling, and observing execution. For
+	  detailed documentation, see
+
+	  https://www.qemu.org/docs/master/devel/tracing.html
+
 endif # BR2_PACKAGE_QEMU_SYSTEM
 
 comment "systems emulation needs a toolchain w/ dynamic library"
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index c530896fa8..a020dd5226 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -159,6 +159,12 @@ else
 QEMU_OPTS += --disable-fdt
 endif
 
+ifeq ($(BR2_PACKAGE_QEMU_TRACING),y)
+QEMU_OPTS += --enable-trace-backends=log
+else
+QEMU_OPTS += --enable-trace-backends=nop
+endif
+
 ifeq ($(BR2_PACKAGE_QEMU_TOOLS),y)
 QEMU_OPTS += --enable-tools
 else
-- 
2.39.3

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [Buildroot] [PATCH] package/qemu: add option to enable tracing (default no)
  2023-07-12 22:01 [Buildroot] [PATCH] package/qemu: add option to enable tracing (default no) unixmania
@ 2023-09-02 16:01 ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-09-02 16:01 UTC (permalink / raw)
  To: unixmania; +Cc: Romain Naour, buildroot

Hello Carlos,

On Wed, 12 Jul 2023 19:01:19 -0300
unixmania@gmail.com wrote:

> From: Carlos Santos <unixmania@gmail.com>
> 
> Tracing is a development feature for debugging, profiling, and observing
> QEMU execution. It does not make sense to enable it by default, so add a
> config to enable the "log" tracing backend (the default one). Options to
> select other backends may be added in the future.
> 
> Also pull a patch already reviewed upstream to install the trace events
> file only if necessary:
> 
>     https://patchwork.kernel.org/project/qemu-devel/patch/20230408010410.281263-1-casantos@redhat.com/
> 
> Signed-off-by: Carlos Santos <unixmania@gmail.com>
> ---
>  ...-trace-events-file-only-if-necessary.patch | 29 +++++++++++++++++++
>  package/qemu/Config.in                        |  9 ++++++
>  package/qemu/qemu.mk                          |  6 ++++
>  3 files changed, 44 insertions(+)
>  create mode 100644 package/qemu/0004-tracing-install-trace-events-file-only-if-necessary.patch

Applied to next after adding an "Upstream:" tag inside the patch, which
we now require (you get a "make check-package" warning if you don't
have this tag).

Thanks a lot!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-09-02 16:01 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-12 22:01 [Buildroot] [PATCH] package/qemu: add option to enable tracing (default no) unixmania
2023-09-02 16:01 ` Thomas Petazzoni via buildroot

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.