[PATCH 00/10] tracing: remove dynamic vcpu state

Alex Bennée posted 10 patches 1 year ago
Failed in applying to current master (apply log)
Maintainers: Richard Henderson <richard.henderson@linaro.org>, Paolo Bonzini <pbonzini@redhat.com>, Warner Losh <imp@bsdimp.com>, Kyle Evans <kevans@freebsd.org>, Greg Kurz <groug@kaod.org>, Christian Schoenebeck <qemu_oss@crudebyte.com>, Eduardo Habkost <eduardo@habkost.net>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Yanan Wang <wangyanan55@huawei.com>, Riku Voipio <riku.voipio@iki.fi>, Eric Blake <eblake@redhat.com>, Markus Armbruster <armbru@redhat.com>, Stefan Hajnoczi <stefanha@redhat.com>, Michael Roth <michael.roth@amd.com>
There is a newer version of this series
qapi/trace.json               |  22 +++----
accel/tcg/tb-hash.h           |   6 +-
include/exec/exec-all.h       |   3 -
include/hw/core/cpu.h         |   5 --
include/qemu/xxhash.h         |  17 ++----
include/user/syscall-trace.h  |   4 --
trace/control-internal.h      |  10 ---
trace/control-vcpu.h          |  63 -------------------
trace/control.h               |  48 ---------------
trace/event-internal.h        |   2 -
accel/tcg/cpu-exec.c          |   7 +--
accel/tcg/tb-maint.c          |   5 +-
accel/tcg/translate-all.c     |   6 --
bsd-user/freebsd/os-syscall.c |   2 -
hw/9pfs/9p.c                  |   4 +-
hw/core/cpu-common.c          |   4 --
stubs/trace-control.c         |  13 ----
trace/control-target.c        | 111 +++-------------------------------
trace/control.c               |  28 ---------
trace/qmp.c                   |  76 +++--------------------
trace/trace-hmp-cmds.c        |  17 +-----
scripts/qapi/gen.py           |   4 +-
scripts/tracetool/format/c.py |   6 --
scripts/tracetool/format/h.py |  16 +----
trace-events                  |  50 ---------------
25 files changed, 43 insertions(+), 486 deletions(-)
delete mode 100644 trace/control-vcpu.h
[PATCH 00/10] tracing: remove dynamic vcpu state
Posted by Alex Bennée 1 year ago
The references dynamic vcpu tracing support was removed when the
original TCG trace points where removed. However there was still a
legacy of dynamic trace state to track this in cpu.h and extra hash
variables to track TBs. While the removed vcpu tracepoints are not in
generated code (or helpers) they still bring in a bunch of machinery
to manage the state so I've pulled them out. We could just replace
them with static trace points which dump vcpu->index as one of their
arguments because they don't happen that often.

While most of the changes are excising bits of the tracing code I've
also cleaned up the xxhash function use and simplified the core
function to qemu_xxhash6.

Please review.

Alex Bennée (10):
  *-user: remove the guest_user_syscall tracepoints
  trace-events: remove the remaining vcpu trace events
  trace: remove vcpu_id from the TraceEvent structure
  scripts/qapi: document the tool that generated the file
  qapi: make the vcpu parameters deprecated for 8.1
  trace: remove code that depends on setting vcpu
  trace: remove control-vcpu.h
  tcg: remove the final vestiges of dstate
  hw/9pfs: use qemu_xxhash4
  xxhash: remove qemu_xxhash7

 qapi/trace.json               |  22 +++----
 accel/tcg/tb-hash.h           |   6 +-
 include/exec/exec-all.h       |   3 -
 include/hw/core/cpu.h         |   5 --
 include/qemu/xxhash.h         |  17 ++----
 include/user/syscall-trace.h  |   4 --
 trace/control-internal.h      |  10 ---
 trace/control-vcpu.h          |  63 -------------------
 trace/control.h               |  48 ---------------
 trace/event-internal.h        |   2 -
 accel/tcg/cpu-exec.c          |   7 +--
 accel/tcg/tb-maint.c          |   5 +-
 accel/tcg/translate-all.c     |   6 --
 bsd-user/freebsd/os-syscall.c |   2 -
 hw/9pfs/9p.c                  |   4 +-
 hw/core/cpu-common.c          |   4 --
 stubs/trace-control.c         |  13 ----
 trace/control-target.c        | 111 +++-------------------------------
 trace/control.c               |  28 ---------
 trace/qmp.c                   |  76 +++--------------------
 trace/trace-hmp-cmds.c        |  17 +-----
 scripts/qapi/gen.py           |   4 +-
 scripts/tracetool/format/c.py |   6 --
 scripts/tracetool/format/h.py |  16 +----
 trace-events                  |  50 ---------------
 25 files changed, 43 insertions(+), 486 deletions(-)
 delete mode 100644 trace/control-vcpu.h

-- 
2.39.2


Re: [PATCH 00/10] tracing: remove dynamic vcpu state
Posted by Stefan Hajnoczi 12 months ago
On Thu, Apr 20, 2023 at 03:59:59PM +0100, Alex Bennée wrote:
> The references dynamic vcpu tracing support was removed when the
> original TCG trace points where removed. However there was still a
> legacy of dynamic trace state to track this in cpu.h and extra hash
> variables to track TBs. While the removed vcpu tracepoints are not in
> generated code (or helpers) they still bring in a bunch of machinery
> to manage the state so I've pulled them out. We could just replace
> them with static trace points which dump vcpu->index as one of their
> arguments because they don't happen that often.
> 
> While most of the changes are excising bits of the tracing code I've
> also cleaned up the xxhash function use and simplified the core
> function to qemu_xxhash6.
> 
> Please review.
> 
> Alex Bennée (10):
>   *-user: remove the guest_user_syscall tracepoints
>   trace-events: remove the remaining vcpu trace events
>   trace: remove vcpu_id from the TraceEvent structure
>   scripts/qapi: document the tool that generated the file
>   qapi: make the vcpu parameters deprecated for 8.1
>   trace: remove code that depends on setting vcpu
>   trace: remove control-vcpu.h
>   tcg: remove the final vestiges of dstate
>   hw/9pfs: use qemu_xxhash4
>   xxhash: remove qemu_xxhash7
> 
>  qapi/trace.json               |  22 +++----
>  accel/tcg/tb-hash.h           |   6 +-
>  include/exec/exec-all.h       |   3 -
>  include/hw/core/cpu.h         |   5 --
>  include/qemu/xxhash.h         |  17 ++----
>  include/user/syscall-trace.h  |   4 --
>  trace/control-internal.h      |  10 ---
>  trace/control-vcpu.h          |  63 -------------------
>  trace/control.h               |  48 ---------------
>  trace/event-internal.h        |   2 -
>  accel/tcg/cpu-exec.c          |   7 +--
>  accel/tcg/tb-maint.c          |   5 +-
>  accel/tcg/translate-all.c     |   6 --
>  bsd-user/freebsd/os-syscall.c |   2 -
>  hw/9pfs/9p.c                  |   4 +-
>  hw/core/cpu-common.c          |   4 --
>  stubs/trace-control.c         |  13 ----
>  trace/control-target.c        | 111 +++-------------------------------
>  trace/control.c               |  28 ---------
>  trace/qmp.c                   |  76 +++--------------------
>  trace/trace-hmp-cmds.c        |  17 +-----
>  scripts/qapi/gen.py           |   4 +-
>  scripts/tracetool/format/c.py |   6 --
>  scripts/tracetool/format/h.py |  16 +----
>  trace-events                  |  50 ---------------
>  25 files changed, 43 insertions(+), 486 deletions(-)
>  delete mode 100644 trace/control-vcpu.h

Nice job! I'm happy to merge it but will wait for discussion to finish.

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>