mbox series

[00/10] tracing: remove dynamic vcpu state

Message ID 20230420150009.1675181-1-alex.bennee@linaro.org
Headers show
Series tracing: remove dynamic vcpu state | expand

Message

Alex Bennée April 20, 2023, 2:59 p.m. UTC
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

Comments

Stefan Hajnoczi May 1, 2023, 8:25 p.m. UTC | #1
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>