All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: Zhang Chen <zhangchen.fnst@cn.fujitsu.com>
Cc: peter.maydell@linaro.org, qemu-devel@nongnu.org,
	Li Zhijian <lizhijian@cn.fujitsu.com>,
	Jason Wang <jasowang@redhat.com>
Subject: Re: [Qemu-devel] [PATCH] net: split colo_compare_pkt_info into two trace events
Date: Mon, 31 Oct 2016 11:42:15 +0000	[thread overview]
Message-ID: <87bmy0ycbs.fsf@linaro.org> (raw)
In-Reply-To: <6860b6ca-48f2-10e5-37f9-276194cb6b28@cn.fujitsu.com>


Zhang Chen <zhangchen.fnst@cn.fujitsu.com> writes:

> On 10/28/2016 09:25 PM, Alex Bennée wrote:
>> 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 <alex.bennee@linaro.org>
>
> It looks good for me, but it not the root cause of this bug.
> We better fix this in UST trace event codes....

I didn't get a chance to dig into the details but yes we need to confirm
if this is a limitation with UST or just the macro headers we generate
for it. That said this is the first time I think we have exceeded 10
parameters for a trace event.

> But qemu 2.8 will be released, we need fix this quickly.
> So...
> Reviewed-by: Zhang Chen <zhangchen.fnst@cn.fujitsu.com>
>
>
>> ---
>>   net/colo-compare.c | 21 +++++++++++----------
>>   net/trace-events   |  3 ++-
>>   2 files changed, 13 insertions(+), 11 deletions(-)
>>
>> diff --git a/net/colo-compare.c b/net/colo-compare.c
>> index f791383..4ac916a 100644
>> --- a/net/colo-compare.c
>> +++ b/net/colo-compare.c
>> @@ -218,16 +218,17 @@ static int colo_packet_compare_tcp(Packet *spkt, Packet *ppkt)
>>                   (spkt->size - ETH_HLEN));
>>
>>       if (res != 0 && trace_event_get_state(TRACE_COLO_COMPARE_MISCOMPARE)) {
>> -        trace_colo_compare_pkt_info(inet_ntoa(ppkt->ip->ip_src),
>> -                                    inet_ntoa(ppkt->ip->ip_dst),
>> -                                    ntohl(ptcp->th_seq),
>> -                                    ntohl(ptcp->th_ack),
>> -                                    ntohl(stcp->th_seq),
>> -                                    ntohl(stcp->th_ack),
>> -                                    res, ptcp->th_flags,
>> -                                    stcp->th_flags,
>> -                                    ppkt->size,
>> -                                    spkt->size);
>> +        trace_colo_compare_pkt_info_src(inet_ntoa(ppkt->ip->ip_src),
>> +                                        ntohl(stcp->th_seq),
>> +                                        ntohl(stcp->th_ack),
>> +                                        res, stcp->th_flags,
>> +                                        spkt->size);
>> +
>> +        trace_colo_compare_pkt_info_dst(inet_ntoa(ppkt->ip->ip_dst),
>> +                                        ntohl(ptcp->th_seq),
>> +                                        ntohl(ptcp->th_ack),
>> +                                        res, ptcp->th_flags,
>> +                                        ppkt->size);
>>
>>           qemu_hexdump((char *)ppkt->data, stderr,
>>                        "colo-compare ppkt", ppkt->size);
>> diff --git a/net/trace-events b/net/trace-events
>> index b1913a6..35198bc 100644
>> --- a/net/trace-events
>> +++ b/net/trace-events
>> @@ -13,7 +13,8 @@ colo_compare_icmp_miscompare(const char *sta, int size) ": %s = %d"
>>   colo_compare_ip_info(int psize, const char *sta, const char *stb, int ssize, const char *stc, const char *std) "ppkt size = %d, ip_src = %s, ip_dst = %s, spkt size = %d, ip_src = %s, ip_dst = %s"
>>   colo_old_packet_check_found(int64_t old_time) "%" PRId64
>>   colo_compare_miscompare(void) ""
>> -colo_compare_pkt_info(const char *src, const char *dst, uint32_t pseq, uint32_t pack, uint32_t sseq, uint32_t sack, int res, uint32_t pflag, uint32_t sflag, int psize, int ssize) "src/dst: %s/%s p: seq/ack=%u/%u   s: seq/ack=%u/%u res=%d flags=%x/%x ppkt_size: %d spkt_size: %d\n"
>> +colo_compare_pkt_info_src(const char *src, uint32_t sseq, uint32_t sack, int res, uint32_t sflag, int ssize) "src/dst: %s s: seq/ack=%u/%u res=%d flags=%x spkt_size: %d\n"
>> +colo_compare_pkt_info_dst(const char *dst, uint32_t dseq, uint32_t dack, int res, uint32_t dflag, int dsize) "src/dst: %s d: seq/ack=%u/%u res=%d flags=%x dpkt_size: %d\n"
>>
>>   # net/filter-rewriter.c
>>   colo_filter_rewriter_debug(void) ""


--
Alex Bennée

  reply	other threads:[~2016-10-31 11:42 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-28 13:25 [Qemu-devel] [PATCH] net: split colo_compare_pkt_info into two trace events Alex Bennée
2016-10-31 10:09 ` Peter Maydell
2016-10-31 10:13 ` Zhang Chen
2016-10-31 11:42   ` Alex Bennée [this message]
2016-10-31 20:15     ` Eric Blake

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87bmy0ycbs.fsf@linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=jasowang@redhat.com \
    --cc=lizhijian@cn.fujitsu.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=zhangchen.fnst@cn.fujitsu.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.