From patchwork Wed Jun 10 14:27:25 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Kozlyuk X-Patchwork-Id: 71186 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id B0081A051F; Wed, 10 Jun 2020 16:28:52 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A814C1BF76; Wed, 10 Jun 2020 16:28:00 +0200 (CEST) Received: from mail-lj1-f194.google.com (mail-lj1-f194.google.com [209.85.208.194]) by dpdk.org (Postfix) with ESMTP id F1C221BF30 for ; Wed, 10 Jun 2020 16:27:56 +0200 (CEST) Received: by mail-lj1-f194.google.com with SMTP id 9so2743687ljv.5 for ; Wed, 10 Jun 2020 07:27:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=dVcxVkYcX4IdEsRf5bHPXaga+vGMrVzMkh75QGfZRIc=; b=mNZZgr479RVbr3AzY+6xtVaQK1fVIyMHgurjB+AexqXpeaUUgfCilQN354rrCnW16l S71kNti3o4mxJPWbzajIAK3fIiNApB30KQQbM0Shs1xXg6ckZ6w6RiQPSwCpnhUfeWCg 7XrTz70Gnv5yYCBWCVQpVmor9DQQSkdAE8xGKsKJLyLGjtJX0aPclKDJqeAUZh63E0+E blnfC+S2t+jbwvBfnRIpte2XrhjQ+jtq7jXbV2QGu0LIPkiop9hNisHIiOJqUsPS+5Do DKGLDRZooDRGhHoeLA51oj2++ynfc0emb7F3fHUWcgi7GfC45VyIvUtdpvXXI0ApMjh4 656A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=dVcxVkYcX4IdEsRf5bHPXaga+vGMrVzMkh75QGfZRIc=; b=c2eVWYvMIRqGDRhPOwxwYNb2jrJ0RsNa7kaSV3G2VmPcZavBjaGV+SeYxqA/tSPrXU RMfIblqYpb+2vRMH3OLVdHvmyvRKsbtSK8Oxu6Ry0rYasuNu1EAhsUeE0JUVmOqVqGux +YO0jjMc4AbIT5QnzQxEdpPL68HRr62LYChryafJOFZAuSgo8afHnM3wy0xLNzzxLyDI Py60rGWz/SHtn9iESyEOz1pLvI3kqaeQg2e5hOBoBzAqTf3Ds3vNdSEyH9PzqH0pTfhk sjVv6MNpWlAOTXv1J/OCxy5xYn8qZk4WirRqEqVAgbIIq3HIqaeUhQtgnPp65xUcoJBg cOwA== X-Gm-Message-State: AOAM530PAUqvzM5XZzXxNuwhkJxt7AxcoCAKfm4goMuttLMmprMaJ+fE Jln9pshjElZ2jTsQ9AoeADZaAILsEwE7MQ== X-Google-Smtp-Source: ABdhPJyKMiX3Jx1izDBrtVU5HMgBJebNuqIkRYOX4rStrdjYMqMfvY52I8cLfl4VkgHkGZApbDsTJA== X-Received: by 2002:a2e:9608:: with SMTP id v8mr2040549ljh.172.1591799276196; Wed, 10 Jun 2020 07:27:56 -0700 (PDT) Received: from localhost.localdomain (broadband-37-110-65-23.ip.moscow.rt.ru. [37.110.65.23]) by smtp.gmail.com with ESMTPSA id j12sm5051733ljg.15.2020.06.10.07.27.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 10 Jun 2020 07:27:55 -0700 (PDT) From: Dmitry Kozlyuk To: dev@dpdk.org Cc: Dmitry Malloy , Narcisa Ana Maria Vasile , Fady Bader , Tal Shnaiderman , Dmitry Kozlyuk , Jerin Jacob , Sunil Kumar Kori , Olivier Matz , Andrew Rybchenko Date: Wed, 10 Jun 2020 17:27:25 +0300 Message-Id: <20200610142730.31376-7-dmitry.kozliuk@gmail.com> X-Mailer: git-send-email 2.25.4 In-Reply-To: <20200610142730.31376-1-dmitry.kozliuk@gmail.com> References: <20200608074153.29611-1-dmitry.kozliuk@gmail.com> <20200610142730.31376-1-dmitry.kozliuk@gmail.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v8 06/11] trace: add size_t field emitter X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" It is not guaranteed that sizeof(long) == sizeof(size_t). On Windows, sizeof(long) == 4 and sizeof(size_t) == 8 for 64-bit programs. Tracepoints using "long" field emitter are therefore invalid there. Add dedicated field emitter for size_t and use it to store size_t values in all existing tracepoints. Signed-off-by: Dmitry Kozlyuk --- lib/librte_eal/include/rte_eal_trace.h | 8 ++++---- lib/librte_eal/include/rte_trace_point.h | 3 +++ lib/librte_mempool/rte_mempool_trace.h | 10 +++++----- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/lib/librte_eal/include/rte_eal_trace.h b/lib/librte_eal/include/rte_eal_trace.h index 1ebb2905a..bcfef0cfa 100644 --- a/lib/librte_eal/include/rte_eal_trace.h +++ b/lib/librte_eal/include/rte_eal_trace.h @@ -143,7 +143,7 @@ RTE_TRACE_POINT( RTE_TRACE_POINT_ARGS(const char *type, size_t size, unsigned int align, int socket, void *ptr), rte_trace_point_emit_string(type); - rte_trace_point_emit_long(size); + rte_trace_point_emit_size_t(size); rte_trace_point_emit_u32(align); rte_trace_point_emit_int(socket); rte_trace_point_emit_ptr(ptr); @@ -154,7 +154,7 @@ RTE_TRACE_POINT( RTE_TRACE_POINT_ARGS(const char *type, size_t size, unsigned int align, int socket, void *ptr), rte_trace_point_emit_string(type); - rte_trace_point_emit_long(size); + rte_trace_point_emit_size_t(size); rte_trace_point_emit_u32(align); rte_trace_point_emit_int(socket); rte_trace_point_emit_ptr(ptr); @@ -164,7 +164,7 @@ RTE_TRACE_POINT( rte_eal_trace_mem_realloc, RTE_TRACE_POINT_ARGS(size_t size, unsigned int align, int socket, void *ptr), - rte_trace_point_emit_long(size); + rte_trace_point_emit_size_t(size); rte_trace_point_emit_u32(align); rte_trace_point_emit_int(socket); rte_trace_point_emit_ptr(ptr); @@ -183,7 +183,7 @@ RTE_TRACE_POINT( unsigned int flags, unsigned int align, unsigned int bound, const void *mz), rte_trace_point_emit_string(name); - rte_trace_point_emit_long(len); + rte_trace_point_emit_size_t(len); rte_trace_point_emit_int(socket_id); rte_trace_point_emit_u32(flags); rte_trace_point_emit_u32(align); diff --git a/lib/librte_eal/include/rte_trace_point.h b/lib/librte_eal/include/rte_trace_point.h index b45171275..377c2414a 100644 --- a/lib/librte_eal/include/rte_trace_point.h +++ b/lib/librte_eal/include/rte_trace_point.h @@ -138,6 +138,8 @@ _tp _args \ #define rte_trace_point_emit_int(val) /** Tracepoint function payload for long datatype */ #define rte_trace_point_emit_long(val) +/** Tracepoint function payload for size_t datatype */ +#define rte_trace_point_emit_size_t(val) /** Tracepoint function payload for float datatype */ #define rte_trace_point_emit_float(val) /** Tracepoint function payload for double datatype */ @@ -395,6 +397,7 @@ do { \ #define rte_trace_point_emit_i8(in) __rte_trace_point_emit(in, int8_t) #define rte_trace_point_emit_int(in) __rte_trace_point_emit(in, int32_t) #define rte_trace_point_emit_long(in) __rte_trace_point_emit(in, long) +#define rte_trace_point_emit_size_t(in) __rte_trace_point_emit(in, size_t) #define rte_trace_point_emit_float(in) __rte_trace_point_emit(in, float) #define rte_trace_point_emit_double(in) __rte_trace_point_emit(in, double) #define rte_trace_point_emit_ptr(in) __rte_trace_point_emit(in, uintptr_t) diff --git a/lib/librte_mempool/rte_mempool_trace.h b/lib/librte_mempool/rte_mempool_trace.h index e776df0a6..087c913c8 100644 --- a/lib/librte_mempool/rte_mempool_trace.h +++ b/lib/librte_mempool/rte_mempool_trace.h @@ -72,7 +72,7 @@ RTE_TRACE_POINT( rte_trace_point_emit_string(mempool->name); rte_trace_point_emit_ptr(vaddr); rte_trace_point_emit_u64(iova); - rte_trace_point_emit_long(len); + rte_trace_point_emit_size_t(len); rte_trace_point_emit_ptr(free_cb); rte_trace_point_emit_ptr(opaque); ) @@ -84,8 +84,8 @@ RTE_TRACE_POINT( rte_trace_point_emit_ptr(mempool); rte_trace_point_emit_string(mempool->name); rte_trace_point_emit_ptr(addr); - rte_trace_point_emit_long(len); - rte_trace_point_emit_long(pg_sz); + rte_trace_point_emit_size_t(len); + rte_trace_point_emit_size_t(pg_sz); rte_trace_point_emit_ptr(free_cb); rte_trace_point_emit_ptr(opaque); ) @@ -126,7 +126,7 @@ RTE_TRACE_POINT( RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool, size_t pg_sz), rte_trace_point_emit_ptr(mempool); rte_trace_point_emit_string(mempool->name); - rte_trace_point_emit_long(pg_sz); + rte_trace_point_emit_size_t(pg_sz); ) RTE_TRACE_POINT( @@ -139,7 +139,7 @@ RTE_TRACE_POINT( rte_trace_point_emit_u32(max_objs); rte_trace_point_emit_ptr(vaddr); rte_trace_point_emit_u64(iova); - rte_trace_point_emit_long(len); + rte_trace_point_emit_size_t(len); rte_trace_point_emit_ptr(obj_cb); rte_trace_point_emit_ptr(obj_cb_arg); )