<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bwlp/qemu.git/scripts/tracetool/backend, branch master</title>
<subtitle>Experimental fork of QEMU with video encoding patches</subtitle>
<id>https://git.openslx.org/bwlp/qemu.git/atom/scripts/tracetool/backend?h=master</id>
<link rel='self' href='https://git.openslx.org/bwlp/qemu.git/atom/scripts/tracetool/backend?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/'/>
<updated>2021-02-01T10:50:55+00:00</updated>
<entry>
<title>trace: make the 'log' backend timestamp configurable</title>
<updated>2021-02-01T10:50:55+00:00</updated>
<author>
<name>Stefan Hajnoczi</name>
</author>
<published>2021-01-25T11:35:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=418ed14268f797a5142b60cd557cd598eb548c66'/>
<id>urn:sha1:418ed14268f797a5142b60cd557cd598eb548c66</id>
<content type='text'>
Timestamps in tracing output can be distracting. Make it possible to
control tid/timestamp printing with -msg timestamp=on|off. The default
is no tid/timestamps. Previously they were always printed.

Suggested-by: BALATON Zoltan &lt;balaton@eik.bme.hu&gt;
Signed-off-by: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
Tested-by: Philippe Mathieu-Daudé &lt;philmd@redhat.com&gt;
Tested-by: BALATON Zoltan &lt;balaton@eik.bme.hu&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;philmd@redhat.com&gt;
Message-id: 20210125113507.224287-3-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
</content>
</entry>
<entry>
<title>tracetool: show trace-events filename/lineno in fmt string errors</title>
<updated>2021-01-04T14:24:58+00:00</updated>
<author>
<name>Stefan Hajnoczi</name>
</author>
<published>2020-08-27T14:29:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=7fb48c0ee1bbf5cc4c905e900b054096250e9f39'/>
<id>urn:sha1:7fb48c0ee1bbf5cc4c905e900b054096250e9f39</id>
<content type='text'>
The compiler encounters trace event format strings in generated code.
Format strings are error-prone and therefore clear compiler errors are
important.

Use the #line directive to show the trace-events filename and line
number in format string errors:
https://gcc.gnu.org/onlinedocs/gcc-10.2.0/cpp/Line-Control.html

For example, if the cpu_in trace event's %u is changed to %p the
following error is reported:

  trace-events:29:18: error: format ‘%p’ expects argument of type ‘void *’, but argument 7 has type ‘unsigned int’ [-Werror=format=]

Line 29 in trace-events is where cpu_in is defined. This works for any
trace-events file in the QEMU source tree and the correct path is
displayed.

Unfortunately there does not seem to be a way to set the column, so "18"
is not the right character on that line.

Suggested-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Signed-off-by: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
Reviewed-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Message-Id: &lt;20200827142915.108730-5-stefanha@redhat.com&gt;
</content>
</entry>
<entry>
<title>libqemuutil, qapi, trace: convert to meson</title>
<updated>2020-08-21T10:30:08+00:00</updated>
<author>
<name>Paolo Bonzini</name>
</author>
<published>2020-08-19T12:44:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=a81df1b68b656f2487f556240baf2af83e60ec6c'/>
<id>urn:sha1:a81df1b68b656f2487f556240baf2af83e60ec6c</id>
<content type='text'>
This shows how to do some "computations" in meson.build using its array
and dictionary data structures, and also a basic usage of the sourceset
module for conditional compilation.

Notice the new "if have_system" part of util/meson.build, which fixes
a bug in the old build system was buggy: util/dbus.c was built even for
non-softmmu builds, but the dependency on -lgio was lost when the linking
was done through libqemuutil.a.  Because all of its users required gio
otherwise, the bug was hidden.  Meson instead propagates libqemuutil's
dependencies down to its users, and shows the problem.

Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>tracetool: carefully define SDT_USE_VARIADIC</title>
<updated>2020-07-30T15:02:38+00:00</updated>
<author>
<name>Stefan Hajnoczi</name>
</author>
<published>2020-07-29T15:39:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=000822441e34916991f7c03217dc24f38be49e50'/>
<id>urn:sha1:000822441e34916991f7c03217dc24f38be49e50</id>
<content type='text'>
The dtrace backend defines SDT_USE_VARIADIC as a workaround for a
conflict with a LTTng UST header file, which requires SDT_USE_VARIADIC
to be defined.

LTTng UST &lt;lttng/tracepoint.h&gt; breaks if included after generated dtrace
headers because SDT_USE_VARIADIC will already be defined:

  #ifdef LTTNG_UST_HAVE_SDT_INTEGRATION
  #define SDT_USE_VARIADIC &lt;-- error, it's already defined
  #include &lt;sys/sdt.h&gt;

Be more careful when defining SDT_USE_VARIADIC. This fixes the build
when both the dtrace and ust tracers are enabled at the same time.

Fixes: 27e08bab94f7c6ebe0b75938c98c394c969e3fd8 ("tracetool: work around ust &lt;sys/sdt.h&gt; include conflict")
Signed-off-by: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
Message-id: 20200729153926.127083-1-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
</content>
</entry>
<entry>
<title>tracetool: work around ust &lt;sys/sdt.h&gt; include conflict</title>
<updated>2020-07-07T15:07:14+00:00</updated>
<author>
<name>Stefan Hajnoczi</name>
</author>
<published>2020-06-25T14:07:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=27e08bab94f7c6ebe0b75938c98c394c969e3fd8'/>
<id>urn:sha1:27e08bab94f7c6ebe0b75938c98c394c969e3fd8</id>
<content type='text'>
Both the dtrace and ust backends may include &lt;sys/sdt.h&gt; but LTTng
Userspace Tracer 2.11 and later requires SDT_USE_VARIADIC to be defined
before including the header file.

This is a classic problem with C header files included from different
parts of a program. If the same header is included twice within the same
compilation unit then the first inclusion determines the macro
environment.

Work around this by defining SDT_USE_VARIADIC in the dtrace backend too.
It doesn't hurt and fixes a missing STAP_PROBEV() compiler error when
the ust backend is enabled together with the dtrace backend.

Signed-off-by: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
Message-id: 20200625140757.237012-1-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
</content>
</entry>
<entry>
<title>scripts/tracetool: Update maintainer email address</title>
<updated>2020-06-24T10:21:00+00:00</updated>
<author>
<name>Philippe Mathieu-Daudé</name>
</author>
<published>2020-05-11T08:28:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=f892b494fafd39660679c1c4ef1dbe711a73df45'/>
<id>urn:sha1:f892b494fafd39660679c1c4ef1dbe711a73df45</id>
<content type='text'>
There is an effort in progress to generate a QEMU Python
package. As I'm not sure this old email is still valid,
update it to not produce package with broken maintainer
email.

Patch created mechanically by running:

 $ sed -i 's,\(__email__ *= "\)stefanha@linux.vnet.ibm.com",\1stefanha@redhat.com",' \
         $(git grep -l 'email.*stefanha@linux.vnet.ibm.com')

Signed-off-by: Philippe Mathieu-Daudé &lt;philmd@redhat.com&gt;
Reviewed-by: John Snow &lt;jsnow@redhat.com&gt;
Message-id: 20200511082816.696-1-philmd@redhat.com
Signed-off-by: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
</content>
</entry>
<entry>
<title>scripts/tracetool: Remove shebang header</title>
<updated>2020-02-07T14:12:48+00:00</updated>
<author>
<name>Philippe Mathieu-Daudé</name>
</author>
<published>2020-01-30T16:32:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=91aef87a2b8afb333934b02ce2d0d64a3fe11874'/>
<id>urn:sha1:91aef87a2b8afb333934b02ce2d0d64a3fe11874</id>
<content type='text'>
Patch created mechanically by running:

  $ chmod 644 $(git grep -lF '#!/usr/bin/env python' \
      | xargs grep -L 'if __name__.*__main__')
  $ sed -i "/^#\!\/usr\/bin\/\(env\ \)\?python.\?$/d" \
      $(git grep -lF '#!/usr/bin/env python' \
      | xargs grep -L 'if __name__.*__main__')

Reported-by: Vladimir Sementsov-Ogievskiy &lt;vsementsov@virtuozzo.com&gt;
Suggested-by: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
Acked-by: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
Acked-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Message-Id: &lt;20200130163232.10446-9-philmd@redhat.com&gt;
Signed-off-by: Philippe Mathieu-Daudé &lt;philmd@redhat.com&gt;
</content>
</entry>
<entry>
<title>tracetool: Include thread id information in log backend</title>
<updated>2018-12-12T10:04:59+00:00</updated>
<author>
<name>Fabiano Rosas</name>
</author>
<published>2018-10-04T14:30:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=8fbc12f324135cf579277c212ab8690ca9174512'/>
<id>urn:sha1:8fbc12f324135cf579277c212ab8690ca9174512</id>
<content type='text'>
Currently the log backend prints the process id of QEMU at the start
of each output line, but since threads share the same PID there is no
clear distinction between their outputs.

Having the thread id present in the log makes it easier to see when
output comes from different threads. E.g.:

12423@1538597569.672527:qemu_mutex_lock waiting on mutex 0x1103ee60 (/root/qemu/util/main-loop.c:236)
...
12430@1538597569.503928:qemu_mutex_unlock released mutex 0x1103ee60 (/root/qemu/cpus.c:1238)
12431@1538597569.503937:qemu_mutex_locked taken mutex 0x1103ee60 (/root/qemu/cpus.c:1257)
^here

In the above, 12423 is the main process id and 12430 &amp; 12431 are the
two vcpu threads.

 (qemu) info cpus
 * CPU #0: thread_id=12430
   CPU #1: thread_id=12431

Suggested-by: Murilo Opsfelder Araujo &lt;muriloo@linux.ibm.com&gt;
Signed-off-by: Fabiano Rosas &lt;farosas@linux.ibm.com&gt;
Signed-off-by: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
</content>
</entry>
<entry>
<title>trace: Fix format string for the struct timeval members casted to size_t</title>
<updated>2018-06-29T14:04:18+00:00</updated>
<author>
<name>Philippe Mathieu-Daudé</name>
</author>
<published>2018-06-21T17:12:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=82c4f87e0ed1701c1f51a46a3146643ed89b0bef'/>
<id>urn:sha1:82c4f87e0ed1701c1f51a46a3146643ed89b0bef</id>
<content type='text'>
This fixes when using GCC with -Wformat-signedness:

    migration/trace.h: In function ‘_nocheck__trace_dirty_bitmap_load_success’:
    migration/trace.h:6368:24: error: format ‘%zd’ expects argument of type ‘signed size_t’, but argument 3 has type ‘long unsigned int’ [-Werror=format=]
      qemu_log("%d@%zd.%06zd:dirty_bitmap_load_success " "" "\n",
                   ~~^
                   %ld
    migration/trace.h:6370:18:
               (size_t)_now.tv_sec, (size_t)_now.tv_usec
               ~~~~~~~~~~~~~~~~~~~
    migration/trace.h:6368:30: error: format ‘%zd’ expects argument of type ‘signed size_t’, but argument 4 has type ‘long unsigned int’ [-Werror=format=]
      qemu_log("%d@%zd.%06zd:dirty_bitmap_load_success " "" "\n",
                       ~~~~^
                       %06ld
    migration/trace.h:6370:39:
               (size_t)_now.tv_sec, (size_t)_now.tv_usec
                                    ~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Philippe Mathieu-Daudé &lt;f4bug@amsat.org&gt;
Signed-off-by: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
</content>
</entry>
<entry>
<title>log-for-trace.h: Split out parts of log.h used by trace.h</title>
<updated>2018-03-12T11:10:20+00:00</updated>
<author>
<name>Peter Maydell</name>
</author>
<published>2018-02-13T14:00:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=be0aa7ac8990c7d62f2d41a66e8c50784e7ee9ac'/>
<id>urn:sha1:be0aa7ac8990c7d62f2d41a66e8c50784e7ee9ac</id>
<content type='text'>
A persistent build problem we see is where a source file
accidentally omits the #include of log.h. This slips through
local developer testing because if you configure with the
default (log) trace backend trace.h will pull in log.h for you.
Compilation fails only if some other backend is selected.

To make this error cause a compile failure regardless of
the configured trace backend, split out the parts of log.h
that trace.h requires into a new log-for-trace.h header.
Since almost all manual uses of the log.h functions will
use constants or functions which aren't in log-for-trace.h,
this will let us catch missing #include "qemu/log.h" more
consistently.

Signed-off-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Reviewed-by: Eric Blake &lt;eblake@redhat.com&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-id: 20180213140029.8308-1-peter.maydell@linaro.org
Signed-off-by: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
</content>
</entry>
</feed>
