qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] be0aa7: log-for-trace.h: Split out parts of l


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] be0aa7: log-for-trace.h: Split out parts of log.h used by ...
Date: Tue, 13 Mar 2018 03:48:34 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: be0aa7ac8990c7d62f2d41a66e8c50784e7ee9ac
      
https://github.com/qemu/qemu/commit/be0aa7ac8990c7d62f2d41a66e8c50784e7ee9ac
  Author: Peter Maydell <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    A include/qemu/log-for-trace.h
    M include/qemu/log.h
    M scripts/tracetool/backend/log.py

  Log Message:
  -----------
  log-for-trace.h: Split out parts of log.h used by trace.h

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 <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: e42860ae836dc6f768eff2d51223c47103d2dc3b
      
https://github.com/qemu/qemu/commit/e42860ae836dc6f768eff2d51223c47103d2dc3b
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M scripts/simpletrace.py

  Log Message:
  -----------
  simpletrace: fix timestamp argument type

The timestamp argument to a trace event method is documented as follows:

  The method can also take a timestamp argument before the trace event
  arguments:

    def runstate_set(self, timestamp, new_state):
  ...

  Timestamps have the uint64_t type and are in nanoseconds.

In reality methods with a timestamp argument actually receive a tuple
like (123456789,) as the timestamp argument.  This is due to a bug in
simpletrace.py.

This patch unpacks the tuple so that methods receive the correct
timestamp argument type.

Signed-off-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 86b5aacfb972ffe0fa5fac6028e9f0bc61050dda
      
https://github.com/qemu/qemu/commit/86b5aacfb972ffe0fa5fac6028e9f0bc61050dda
  Author: Daniel P. Berrangé <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M scripts/simpletrace.py
    M scripts/tracetool.py
    M scripts/tracetool/__init__.py

  Log Message:
  -----------
  trace: include filename when printing parser error messages

Improves error messages from:

  ValueError: Error on line 72: need more than 1 value to unpack

To

  ValueError: Error at /home/berrange/src/virt/qemu/trace-events:72:
    need more than 1 value to unpack

Signed-off-by: Daniel P. Berrangé <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 88584448502b1b1504676566b0d36991583c9ed2
      
https://github.com/qemu/qemu/commit/88584448502b1b1504676566b0d36991583c9ed2
  Author: Daniel P. Berrangé <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M trace-events

  Log Message:
  -----------
  trace: remove use of QEMU specific types from trace probes

Any compound structs / unions / etc, should always be declared as
'void *' pointers, since it cannot be assumed that trace backends
are able to resolve QEMU typedefs.

Signed-off-by: Daniel P. Berrangé <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 73ff061032efa0b260bcd1a177ac89b57a1642d3
      
https://github.com/qemu/qemu/commit/73ff061032efa0b260bcd1a177ac89b57a1642d3
  Author: Daniel P. Berrangé <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M scripts/tracetool/__init__.py

  Log Message:
  -----------
  trace: only permit standard C types and fixed size integer types

Some trace backends will compile code based on the declared trace
events. It should not be assumed that the backends can resolve any QEMU
specific typedefs. So trace events should restrict their argument
types to the standard C types and fixed size integer types. Any complex
pointer types can be declared as "void *" for purposes of trace events,
since nothing will be dereferencing these pointer arguments.

Signed-off-by: Daniel P. Berrangé <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 73988d529e2edfc0c83cb73c07f818fdfebd633c
      
https://github.com/qemu/qemu/commit/73988d529e2edfc0c83cb73c07f818fdfebd633c
  Author: Peter Maydell <address@hidden>
  Date:   2018-03-13 (Tue, 13 Mar 2018)

  Changed paths:
    A include/qemu/log-for-trace.h
    M include/qemu/log.h
    M scripts/simpletrace.py
    M scripts/tracetool.py
    M scripts/tracetool/__init__.py
    M scripts/tracetool/backend/log.py
    M trace-events

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/stefanha/tags/tracing-pull-request' 
into staging

# gpg: Signature made Mon 12 Mar 2018 15:59:54 GMT
# gpg:                using RSA key 9CA4ABB381AB73C8
# gpg: Good signature from "Stefan Hajnoczi <address@hidden>"
# gpg:                 aka "Stefan Hajnoczi <address@hidden>"
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35  775A 9CA4 ABB3 81AB 73C8

* remotes/stefanha/tags/tracing-pull-request:
  trace: only permit standard C types and fixed size integer types
  trace: remove use of QEMU specific types from trace probes
  trace: include filename when printing parser error messages
  simpletrace: fix timestamp argument type
  log-for-trace.h: Split out parts of log.h used by trace.h

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/1396156f50dd...73988d529e2e

reply via email to

[Prev in Thread] Current Thread [Next in Thread]