diff mbox

[v5,02/20] trace: remove double-underscore in event name

Message ID 1475068103-356-3-git-send-email-berrange@redhat.com
State New
Headers show

Commit Message

Daniel P. Berrangé Sept. 28, 2016, 1:08 p.m. UTC
If there is a double underscore in an event name, at least
systemtap 3.0 will turn that into a single underscore. This
in turn breaks the generated QEMU code that calls this
event. The generated-tracers.h file calls a macro called
QEMU_SPAPR_VSCSI__PROCESS_LOGIN, but the corresponding
generated-tracers-dtrace.h file defines a macro called
QEMU_SPAPR_VSCSI_PROCESS_LOGIN.

It is unclear if this removal of double underscores is
intended behaviour of systemtap or not. So rather than
try to change the tracetool to generate the systemtap
macro with the double underscore squished, it is
simpler to just avoid this usage in the first place.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
---
 hw/scsi/spapr_vscsi.c | 2 +-
 hw/scsi/trace-events  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Comments

Lluís Vilanova Sept. 28, 2016, 1:25 p.m. UTC | #1
Daniel P Berrange writes:

> If there is a double underscore in an event name, at least
> systemtap 3.0 will turn that into a single underscore. This
> in turn breaks the generated QEMU code that calls this
> event. The generated-tracers.h file calls a macro called
> QEMU_SPAPR_VSCSI__PROCESS_LOGIN, but the corresponding
> generated-tracers-dtrace.h file defines a macro called
> QEMU_SPAPR_VSCSI_PROCESS_LOGIN.

> It is unclear if this removal of double underscores is
> intended behaviour of systemtap or not. So rather than
> try to change the tracetool to generate the systemtap
> macro with the double underscore squished, it is
> simpler to just avoid this usage in the first place.

> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>

Reviewed-by: Lluís Vilanova <vilanova@ac.upc.edu>


> ---
>  hw/scsi/spapr_vscsi.c | 2 +-
>  hw/scsi/trace-events  | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)

> diff --git a/hw/scsi/spapr_vscsi.c b/hw/scsi/spapr_vscsi.c
> index d8a2296..6090a20 100644
> --- a/hw/scsi/spapr_vscsi.c
> +++ b/hw/scsi/spapr_vscsi.c
> @@ -658,7 +658,7 @@ static void vscsi_process_login(VSCSIState *s, vscsi_req *req)
>      struct srp_login_rsp *rsp = &iu->srp.login_rsp;
>      uint64_t tag = iu->srp.rsp.tag;
 
> -    trace_spapr_vscsi__process_login();
> +    trace_spapr_vscsi_process_login();
 
>      /* TODO handle case that requested size is wrong and
>       * buffer format is wrong
> diff --git a/hw/scsi/trace-events b/hw/scsi/trace-events
> index d1995b8..4a2e5d6 100644
> --- a/hw/scsi/trace-events
> +++ b/hw/scsi/trace-events
> @@ -225,7 +225,7 @@ spapr_vscsi_command_complete_sense_data2(unsigned s8, unsigned s9, unsigned s10,
>  spapr_vscsi_command_complete_status(uint32_t status) "Command complete err=%"PRIu32
>  spapr_vscsi_save_request(uint32_t qtag, unsigned desc, unsigned offset) "saving tag=%"PRIu32", current desc#%u, offset=0x%x"
>  spapr_vscsi_load_request(uint32_t qtag, unsigned desc, unsigned offset) "restoring tag=%"PRIu32", current desc#%u, offset=0x%x"
> -spapr_vscsi__process_login(void) "Got login, sending response !"
> +spapr_vscsi_process_login(void) "Got login, sending response !"
>  spapr_vscsi_queue_cmd_no_drive(uint64_t lun) "Command for lun %08" PRIx64 " with no drive"
>  spapr_vscsi_queue_cmd(uint32_t qtag, unsigned cdb, const char *cmd, int lun, int ret) "Queued command tag 0x%"PRIx32" CMD 0x%x=%s LUN %d ret: %d"
>  spapr_vscsi_do_crq(unsigned c0, unsigned c1) "crq: %02x %02x ..."
> -- 
> 2.7.4
Stefan Hajnoczi Oct. 3, 2016, 1:25 p.m. UTC | #2
On Wed, Sep 28, 2016 at 02:08:05PM +0100, Daniel P. Berrange wrote:
> If there is a double underscore in an event name, at least
> systemtap 3.0 will turn that into a single underscore. This
> in turn breaks the generated QEMU code that calls this
> event. The generated-tracers.h file calls a macro called
> QEMU_SPAPR_VSCSI__PROCESS_LOGIN, but the corresponding
> generated-tracers-dtrace.h file defines a macro called
> QEMU_SPAPR_VSCSI_PROCESS_LOGIN.
> 
> It is unclear if this removal of double underscores is
> intended behaviour of systemtap or not. So rather than
> try to change the tracetool to generate the systemtap
> macro with the double underscore squished, it is
> simpler to just avoid this usage in the first place.
> 
> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
> ---
>  hw/scsi/spapr_vscsi.c | 2 +-
>  hw/scsi/trace-events  | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)

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

Patch

diff --git a/hw/scsi/spapr_vscsi.c b/hw/scsi/spapr_vscsi.c
index d8a2296..6090a20 100644
--- a/hw/scsi/spapr_vscsi.c
+++ b/hw/scsi/spapr_vscsi.c
@@ -658,7 +658,7 @@  static void vscsi_process_login(VSCSIState *s, vscsi_req *req)
     struct srp_login_rsp *rsp = &iu->srp.login_rsp;
     uint64_t tag = iu->srp.rsp.tag;
 
-    trace_spapr_vscsi__process_login();
+    trace_spapr_vscsi_process_login();
 
     /* TODO handle case that requested size is wrong and
      * buffer format is wrong
diff --git a/hw/scsi/trace-events b/hw/scsi/trace-events
index d1995b8..4a2e5d6 100644
--- a/hw/scsi/trace-events
+++ b/hw/scsi/trace-events
@@ -225,7 +225,7 @@  spapr_vscsi_command_complete_sense_data2(unsigned s8, unsigned s9, unsigned s10,
 spapr_vscsi_command_complete_status(uint32_t status) "Command complete err=%"PRIu32
 spapr_vscsi_save_request(uint32_t qtag, unsigned desc, unsigned offset) "saving tag=%"PRIu32", current desc#%u, offset=0x%x"
 spapr_vscsi_load_request(uint32_t qtag, unsigned desc, unsigned offset) "restoring tag=%"PRIu32", current desc#%u, offset=0x%x"
-spapr_vscsi__process_login(void) "Got login, sending response !"
+spapr_vscsi_process_login(void) "Got login, sending response !"
 spapr_vscsi_queue_cmd_no_drive(uint64_t lun) "Command for lun %08" PRIx64 " with no drive"
 spapr_vscsi_queue_cmd(uint32_t qtag, unsigned cdb, const char *cmd, int lun, int ret) "Queued command tag 0x%"PRIx32" CMD 0x%x=%s LUN %d ret: %d"
 spapr_vscsi_do_crq(unsigned c0, unsigned c1) "crq: %02x %02x ..."