qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] trace: disallow more than 10 arguments per trac


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] [PATCH] trace: disallow more than 10 arguments per trace event
Date: Wed, 3 May 2017 14:53:39 +0100
User-agent: Mutt/1.8.0 (2017-02-23)

On Wed, Apr 26, 2017 at 04:39:00PM +0100, Daniel P. Berrange wrote:
> The UST trace backend can only cope with upto 10 arguments. To ensure we
> don't exceed the limit when UST is not compiled in, disallow more than
> 10 arguments upfront.
> 
> This prevents the case where:
> 
>   commit 0fc8aec7de64f2bf83a274a2a38b938ce03425d2
>   Author: Zhang Chen <address@hidden>
>   Date:   Tue Apr 18 10:20:20 2017 +0800
> 
>     COLO-compare: Optimize tcp compare trace event
> 
>     Optimize two trace events as one, adjust print format make
>     it easy to read. rename trace_colo_compare_pkt_info_src/dst
>     to trace_colo_compare_tcp_info.
> 
> regressed the fix done in
> 
>   commit 2dfe5113b11ce0ddb08176ebb54ab7ac4104b413
>   Author: Alex Bennée <address@hidden>
>   Date:   Fri Oct 28 14:25:59 2016 +0100
> 
>     net: split colo_compare_pkt_info into two trace events
> 
>     It seems there is a limit to the number of arguments a UST trace event
>     can take and at 11 the previous trace command broke the build. Split the
>     trace into a src pkt and dst pkt trace to fix this.
> 
>     Signed-off-by: Alex Bennée <address@hidden>
>     Message-id: address@hidden
>     Reviewed-by: Peter Maydell <address@hidden>
>     Signed-off-by: Peter Maydell <address@hidden>
> 
> Now we get an immediate fail even when UST is disabled:
> 
>   GEN     net/trace.h
> Traceback (most recent call last):
>   File "/home/berrange/src/virt/qemu/scripts/tracetool.py", line 154, in 
> <module>
>     main(sys.argv)
>   File "/home/berrange/src/virt/qemu/scripts/tracetool.py", line 145, in main
>     events.extend(tracetool.read_events(fh))
>   File "/home/berrange/src/virt/qemu/scripts/tracetool/__init__.py", line 
> 307, in read_events
>     event = Event.build(line)
>   File "/home/berrange/src/virt/qemu/scripts/tracetool/__init__.py", line 
> 244, in build
>     event = Event(name, props, fmt, args)
>   File "/home/berrange/src/virt/qemu/scripts/tracetool/__init__.py", line 
> 196, in __init__
>     "argument count" % name)
> ValueError: Event 'colo_compare_tcp_info' has more than maximum permitted 
> argument count
> Makefile:96: recipe for target 'net/trace.h-timestamp' failed
> 
> Signed-off-by: Daniel P. Berrange <address@hidden>
> ---
> 
> Obviously dont apply this until 0fc8aec7de64f2bf83a274a2a38b938ce03425d2 has
> been reverted :-)
> 
>  scripts/tracetool/__init__.py | 4 ++++
>  1 file changed, 4 insertions(+)

Thanks, applied to my tracing tree:
https://github.com/stefanha/qemu/commits/tracing

Stefan

Attachment: signature.asc
Description: PGP signature


reply via email to

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