From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54156) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c1Ays-00010e-Tz for qemu-devel@nongnu.org; Mon, 31 Oct 2016 07:42:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c1Ayo-0000gD-Ky for qemu-devel@nongnu.org; Mon, 31 Oct 2016 07:42:23 -0400 Received: from mail-wm0-x22f.google.com ([2a00:1450:400c:c09::22f]:37777) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1c1Ayo-0000fK-DU for qemu-devel@nongnu.org; Mon, 31 Oct 2016 07:42:18 -0400 Received: by mail-wm0-x22f.google.com with SMTP id t79so44370633wmt.0 for ; Mon, 31 Oct 2016 04:42:18 -0700 (PDT) References: <20161028132559.8324-1-alex.bennee@linaro.org> <6860b6ca-48f2-10e5-37f9-276194cb6b28@cn.fujitsu.com> From: Alex =?utf-8?Q?Benn=C3=A9e?= In-reply-to: <6860b6ca-48f2-10e5-37f9-276194cb6b28@cn.fujitsu.com> Date: Mon, 31 Oct 2016 11:42:15 +0000 Message-ID: <87bmy0ycbs.fsf@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [PATCH] net: split colo_compare_pkt_info into two trace events List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Zhang Chen Cc: peter.maydell@linaro.org, qemu-devel@nongnu.org, Li Zhijian , Jason Wang Zhang Chen 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 > > 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 > > >> --- >> 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