From: <jerinj@marvell.com>
To: Thomas Monjalon <thomas@monjalon.net>,
Anoob Joseph <anoobj@marvell.com>,
Olivier Matz <olivier.matz@6wind.com>,
Andrew Rybchenko <arybchenko@solarflare.com>,
Bruce Richardson <bruce.richardson@intel.com>,
Satha Rao <skoteshwar@marvell.com>,
Vamsi Attunuru <vattunuru@marvell.com>,
Mahipal Challa <mchalla@marvell.com>,
Shreyansh Jain <shreyansh.jain@nxp.com>,
Hemant Agrawal <hemant.agrawal@nxp.com>,
David Hunt <david.hunt@intel.com>,
Konstantin Ananyev <konstantin.ananyev@intel.com>,
Jerin Jacob <jerinj@marvell.com>,
Sunil Kumar Kori <skori@marvell.com>,
Reshma Pattan <reshma.pattan@intel.com>,
Cristian Dumitrescu <cristian.dumitrescu@intel.com>,
Jasvinder Singh <jasvinder.singh@intel.com>,
Akhil Goyal <akhil.goyal@nxp.com>,
Declan Doherty <declan.doherty@intel.com>
Cc: <dev@dpdk.org>, <david.marchand@redhat.com>,
<mattias.ronnblom@ericsson.com>
Subject: [dpdk-dev] [PATCH v3 32/33] mempool: add tracepoints
Date: Sun, 29 Mar 2020 20:13:41 +0530 [thread overview]
Message-ID: <20200329144342.1543749-33-jerinj@marvell.com> (raw)
In-Reply-To: <20200329144342.1543749-1-jerinj@marvell.com>
From: Sunil Kumar Kori <skori@marvell.com>
Add tracepoints at important and mandatory APIs for tracing support.
Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
---
MAINTAINERS | 2 +
drivers/common/cpt/Makefile | 1 +
drivers/mempool/ring/Makefile | 1 +
drivers/mempool/ring/meson.build | 1 +
drivers/raw/ioat/Makefile | 1 +
drivers/raw/ioat/meson.build | 1 +
drivers/raw/octeontx2_dma/Makefile | 1 +
drivers/raw/octeontx2_dma/meson.build | 1 +
drivers/raw/octeontx2_ep/Makefile | 1 +
drivers/raw/octeontx2_ep/meson.build | 1 +
drivers/raw/skeleton/Makefile | 1 +
drivers/raw/skeleton/meson.build | 1 +
lib/librte_distributor/Makefile | 1 +
lib/librte_distributor/meson.build | 1 +
lib/librte_ip_frag/Makefile | 1 +
lib/librte_ip_frag/meson.build | 1 +
lib/librte_mempool/Makefile | 3 +
lib/librte_mempool/mempool_trace_points.c | 108 +++++++++++++++
lib/librte_mempool/meson.build | 7 +-
lib/librte_mempool/rte_mempool.c | 16 +++
lib/librte_mempool/rte_mempool.h | 13 ++
lib/librte_mempool/rte_mempool_ops.c | 7 +
lib/librte_mempool/rte_mempool_version.map | 26 ++++
lib/librte_mempool/rte_trace_mempool.h | 148 +++++++++++++++++++++
lib/librte_mempool/rte_trace_mempool_fp.h | 102 ++++++++++++++
lib/librte_reorder/Makefile | 1 +
lib/librte_reorder/meson.build | 1 +
lib/librte_sched/Makefile | 1 +
lib/librte_sched/meson.build | 1 +
lib/librte_security/Makefile | 1 +
lib/librte_security/meson.build | 1 +
lib/librte_table/Makefile | 1 +
lib/librte_table/meson.build | 1 +
33 files changed, 451 insertions(+), 4 deletions(-)
create mode 100644 lib/librte_mempool/mempool_trace_points.c
create mode 100644 lib/librte_mempool/rte_trace_mempool.h
create mode 100644 lib/librte_mempool/rte_trace_mempool_fp.h
diff --git a/MAINTAINERS b/MAINTAINERS
index 65acfc814..42712f67e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -208,6 +208,8 @@ F: lib/librte_eventdev/eventdev_trace_points.c
F: lib/librte_eventdev/rte_trace_eventdev*.h
F: lib/librte_cryptodev/cryptodev_trace_points.c
F: lib/librte_cryptodev/rte_trace_cryptodev*.h
+F: lib/librte_mempool/mempool_trace_points.c
+F: lib/librte_mempool/rte_trace_mempool*.h
Memory Allocation
M: Anatoly Burakov <anatoly.burakov@intel.com>
diff --git a/drivers/common/cpt/Makefile b/drivers/common/cpt/Makefile
index cab9da73c..9e4cab166 100644
--- a/drivers/common/cpt/Makefile
+++ b/drivers/common/cpt/Makefile
@@ -10,6 +10,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
LIB = librte_common_cpt.a
CFLAGS += $(WERROR_FLAGS)
+CFLAGS += -DALLOW_EXPERIMENTAL_API
CFLAGS += -I$(RTE_SDK)/drivers/bus/pci
EXPORT_MAP := rte_common_cpt_version.map
diff --git a/drivers/mempool/ring/Makefile b/drivers/mempool/ring/Makefile
index 8624502da..0b8b64598 100644
--- a/drivers/mempool/ring/Makefile
+++ b/drivers/mempool/ring/Makefile
@@ -10,6 +10,7 @@ LIB = librte_mempool_ring.a
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
+CFLAGS += -DALLOW_EXPERIMENTAL_API
LDLIBS += -lrte_eal -lrte_mempool -lrte_ring
EXPORT_MAP := rte_mempool_ring_version.map
diff --git a/drivers/mempool/ring/meson.build b/drivers/mempool/ring/meson.build
index a021e908c..ec07b186e 100644
--- a/drivers/mempool/ring/meson.build
+++ b/drivers/mempool/ring/meson.build
@@ -1,4 +1,5 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation
+allow_experimental_apis = true
sources = files('rte_mempool_ring.c')
diff --git a/drivers/raw/ioat/Makefile b/drivers/raw/ioat/Makefile
index 1609fe5e6..5c8c02bee 100644
--- a/drivers/raw/ioat/Makefile
+++ b/drivers/raw/ioat/Makefile
@@ -9,6 +9,7 @@ LIB = librte_rawdev_ioat.a
# build flags
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
+CFLAGS += -DALLOW_EXPERIMENTAL_API
LDLIBS += -lrte_eal -lrte_rawdev
LDLIBS += -lrte_pci -lrte_bus_pci
diff --git a/drivers/raw/ioat/meson.build b/drivers/raw/ioat/meson.build
index 0878418ae..b59847387 100644
--- a/drivers/raw/ioat/meson.build
+++ b/drivers/raw/ioat/meson.build
@@ -1,6 +1,7 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright 2019 Intel Corporation
+allow_experimental_apis = true
build = dpdk_conf.has('RTE_ARCH_X86')
reason = 'only supported on x86'
sources = files('ioat_rawdev.c',
diff --git a/drivers/raw/octeontx2_dma/Makefile b/drivers/raw/octeontx2_dma/Makefile
index c64ca3497..180b23516 100644
--- a/drivers/raw/octeontx2_dma/Makefile
+++ b/drivers/raw/octeontx2_dma/Makefile
@@ -8,6 +8,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
LIB = librte_rawdev_octeontx2_dma.a
CFLAGS += -O3 $(WERROR_FLAGS)
+CFLAGS += -DALLOW_EXPERIMENTAL_API
CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx2/
CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx2/
CFLAGS += -I$(RTE_SDK)/drivers/raw/octeontx2_dma/
diff --git a/drivers/raw/octeontx2_dma/meson.build b/drivers/raw/octeontx2_dma/meson.build
index 11f74680a..b1862a7d3 100644
--- a/drivers/raw/octeontx2_dma/meson.build
+++ b/drivers/raw/octeontx2_dma/meson.build
@@ -2,6 +2,7 @@
# Copyright(C) 2019 Marvell International Ltd.
#
+allow_experimental_apis = true
deps += ['bus_pci', 'common_octeontx2', 'rawdev']
sources = files('otx2_dpi_rawdev.c', 'otx2_dpi_msg.c', 'otx2_dpi_test.c')
diff --git a/drivers/raw/octeontx2_ep/Makefile b/drivers/raw/octeontx2_ep/Makefile
index 1a54bf56f..08aab53b5 100644
--- a/drivers/raw/octeontx2_ep/Makefile
+++ b/drivers/raw/octeontx2_ep/Makefile
@@ -10,6 +10,7 @@ LIB = librte_rawdev_octeontx2_ep.a
# Build flags
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
+CFLAGS += -DALLOW_EXPERIMENTAL_API
CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx2/
CFLAGS += -I$(RTE_SDK)/drivers/raw/octeontx2_ep/
diff --git a/drivers/raw/octeontx2_ep/meson.build b/drivers/raw/octeontx2_ep/meson.build
index 0e6338f76..633292f57 100644
--- a/drivers/raw/octeontx2_ep/meson.build
+++ b/drivers/raw/octeontx2_ep/meson.build
@@ -2,6 +2,7 @@
# Copyright(C) 2019 Marvell International Ltd.
#
+allow_experimental_apis = true
deps += ['bus_pci', 'common_octeontx2', 'rawdev']
sources = files('otx2_ep_rawdev.c',
'otx2_ep_enqdeq.c',
diff --git a/drivers/raw/skeleton/Makefile b/drivers/raw/skeleton/Makefile
index 2ac66fbd4..9c7018992 100644
--- a/drivers/raw/skeleton/Makefile
+++ b/drivers/raw/skeleton/Makefile
@@ -10,6 +10,7 @@ LIB = librte_rawdev_skeleton.a
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
+CFLAGS += -DALLOW_EXPERIMENTAL_API
LDLIBS += -lrte_eal
LDLIBS += -lrte_rawdev
LDLIBS += -lrte_bus_vdev
diff --git a/drivers/raw/skeleton/meson.build b/drivers/raw/skeleton/meson.build
index b4a6ed08a..993ea332c 100644
--- a/drivers/raw/skeleton/meson.build
+++ b/drivers/raw/skeleton/meson.build
@@ -1,6 +1,7 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright 2018 NXP
+allow_experimental_apis = true
deps += ['rawdev', 'kvargs', 'mbuf', 'bus_vdev']
sources = files('skeleton_rawdev.c',
'skeleton_rawdev_test.c')
diff --git a/lib/librte_distributor/Makefile b/lib/librte_distributor/Makefile
index fc32fb3a8..f6b5f12de 100644
--- a/lib/librte_distributor/Makefile
+++ b/lib/librte_distributor/Makefile
@@ -7,6 +7,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
LIB = librte_distributor.a
CFLAGS += -O3
+CFLAGS += -DALLOW_EXPERIMENTAL_API
CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
LDLIBS += -lrte_eal -lrte_mbuf -lrte_ethdev
diff --git a/lib/librte_distributor/meson.build b/lib/librte_distributor/meson.build
index bd12ddb2f..566f70b42 100644
--- a/lib/librte_distributor/meson.build
+++ b/lib/librte_distributor/meson.build
@@ -1,6 +1,7 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation
+allow_experimental_apis = true
sources = files('rte_distributor.c', 'rte_distributor_single.c')
if arch_subdir == 'x86'
sources += files('rte_distributor_match_sse.c')
diff --git a/lib/librte_ip_frag/Makefile b/lib/librte_ip_frag/Makefile
index 6b80d9f1f..ae50762d2 100644
--- a/lib/librte_ip_frag/Makefile
+++ b/lib/librte_ip_frag/Makefile
@@ -7,6 +7,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
LIB = librte_ip_frag.a
CFLAGS += -O3
+CFLAGS += -DALLOW_EXPERIMENTAL_API
CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_ethdev
LDLIBS += -lrte_hash
diff --git a/lib/librte_ip_frag/meson.build b/lib/librte_ip_frag/meson.build
index c5b9a4596..68bc2491a 100644
--- a/lib/librte_ip_frag/meson.build
+++ b/lib/librte_ip_frag/meson.build
@@ -1,6 +1,7 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation
+allow_experimental_apis = true
sources = files('rte_ipv4_fragmentation.c',
'rte_ipv6_fragmentation.c',
'rte_ipv4_reassembly.c',
diff --git a/lib/librte_mempool/Makefile b/lib/librte_mempool/Makefile
index a5649050b..91d181103 100644
--- a/lib/librte_mempool/Makefile
+++ b/lib/librte_mempool/Makefile
@@ -19,7 +19,10 @@ CFLAGS += -DALLOW_EXPERIMENTAL_API
SRCS-$(CONFIG_RTE_LIBRTE_MEMPOOL) += rte_mempool.c
SRCS-$(CONFIG_RTE_LIBRTE_MEMPOOL) += rte_mempool_ops.c
SRCS-$(CONFIG_RTE_LIBRTE_MEMPOOL) += rte_mempool_ops_default.c
+SRCS-$(CONFIG_RTE_LIBRTE_MEMPOOL) += mempool_trace_points.c
# install includes
SYMLINK-$(CONFIG_RTE_LIBRTE_MEMPOOL)-include := rte_mempool.h
+SYMLINK-$(CONFIG_RTE_LIBRTE_MEMPOOL)-include += rte_trace_mempool.h
+SYMLINK-$(CONFIG_RTE_LIBRTE_MEMPOOL)-include += rte_trace_mempool_fp.h
include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_mempool/mempool_trace_points.c b/lib/librte_mempool/mempool_trace_points.c
new file mode 100644
index 000000000..fbe23b93a
--- /dev/null
+++ b/lib/librte_mempool/mempool_trace_points.c
@@ -0,0 +1,108 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2020 Marvell International Ltd.
+ */
+
+#define RTE_TRACE_POINT_REGISTER_SELECT /* Select trace point register macros */
+
+#include "rte_trace_mempool.h"
+
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_mempool_ops_dequeue_bulk);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_mempool_ops_dequeue_contig_blocks);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_mempool_ops_enqueue_bulk);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_mempool_generic_put);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_mempool_put_bulk);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_mempool_generic_get);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_mempool_get_bulk);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_mempool_get_contig_blocks);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_mempool_create);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_mempool_create_empty);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_mempool_free);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_mempool_populate_iova);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_mempool_populate_virt);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_mempool_populate_default);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_mempool_populate_anon);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_mempool_cache_create);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_mempool_cache_free);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_mempool_default_cache);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_mempool_get_page_size);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_mempool_cache_flush);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_mempool_ops_populate);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_mempool_ops_alloc);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_mempool_ops_free);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_mempool_set_ops_byname);
+
+RTE_INIT(mempool_trace_init)
+{
+ RTE_TRACE_POINT_REGISTER(rte_trace_lib_mempool_ops_dequeue_bulk,
+ lib.mempool.ops.deq.bulk, INFO);
+
+ RTE_TRACE_POINT_REGISTER(
+ rte_trace_lib_mempool_ops_dequeue_contig_blocks,
+ lib.mempool.ops.deq.contig, INFO);
+
+ RTE_TRACE_POINT_REGISTER(rte_trace_lib_mempool_ops_enqueue_bulk,
+ lib.mempool.ops.enq.bulk, INFO);
+
+ RTE_TRACE_POINT_REGISTER(rte_trace_lib_mempool_generic_put,
+ lib.mempool.generic.put, INFO);
+
+ RTE_TRACE_POINT_REGISTER(rte_trace_lib_mempool_put_bulk,
+ lib.mempool.put.bulk, INFO);
+
+ RTE_TRACE_POINT_REGISTER(rte_trace_lib_mempool_generic_get,
+ lib.mempool.generic.get, INFO);
+
+ RTE_TRACE_POINT_REGISTER(rte_trace_lib_mempool_get_bulk,
+ lib.mempool.get.bulk, INFO);
+
+ RTE_TRACE_POINT_REGISTER(rte_trace_lib_mempool_get_contig_blocks,
+ lib.mempool.get.blocks, INFO);
+
+ RTE_TRACE_POINT_REGISTER(rte_trace_lib_mempool_create,
+ lib.mempool.create, INFO);
+
+ RTE_TRACE_POINT_REGISTER(rte_trace_lib_mempool_create_empty,
+ lib.mempool.create.empty, INFO);
+
+ RTE_TRACE_POINT_REGISTER(rte_trace_lib_mempool_free,
+ lib.mempool.free, INFO);
+
+ RTE_TRACE_POINT_REGISTER(rte_trace_lib_mempool_populate_iova,
+ lib.mempool.populate.iova, INFO);
+
+ RTE_TRACE_POINT_REGISTER(rte_trace_lib_mempool_populate_virt,
+ lib.mempool.populate.virt, INFO);
+
+ RTE_TRACE_POINT_REGISTER(rte_trace_lib_mempool_populate_default,
+ lib.mempool.populate.default, INFO);
+
+ RTE_TRACE_POINT_REGISTER(rte_trace_lib_mempool_populate_anon,
+ lib.mempool.populate.anon, INFO);
+
+ RTE_TRACE_POINT_REGISTER(rte_trace_lib_mempool_cache_create,
+ lib.mempool.cache_create, INFO);
+
+ RTE_TRACE_POINT_REGISTER(rte_trace_lib_mempool_cache_free,
+ lib.mempool.cache.free, INFO);
+
+ RTE_TRACE_POINT_REGISTER(rte_trace_lib_mempool_default_cache,
+ lib.mempool.default.cache, INFO);
+
+ RTE_TRACE_POINT_REGISTER(rte_trace_lib_mempool_get_page_size,
+ lib.mempool.get.page.size, INFO);
+
+ RTE_TRACE_POINT_REGISTER(rte_trace_lib_mempool_cache_flush,
+ lib.mempool.cache.flush, INFO);
+
+ RTE_TRACE_POINT_REGISTER(rte_trace_lib_mempool_ops_populate,
+ lib.mempool.ops.populate, INFO);
+
+ RTE_TRACE_POINT_REGISTER(rte_trace_lib_mempool_ops_alloc,
+ lib.mempool.ops.alloc, INFO);
+
+ RTE_TRACE_POINT_REGISTER(rte_trace_lib_mempool_ops_free,
+ lib.mempool.ops.free, INFO);
+
+ RTE_TRACE_POINT_REGISTER(rte_trace_lib_mempool_set_ops_byname,
+ lib.mempool.set.ops.byname, INFO);
+}
diff --git a/lib/librte_mempool/meson.build b/lib/librte_mempool/meson.build
index f8710b61b..903e923c3 100644
--- a/lib/librte_mempool/meson.build
+++ b/lib/librte_mempool/meson.build
@@ -1,8 +1,6 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation
-allow_experimental_apis = true
-
extra_flags = []
foreach flag: extra_flags
@@ -12,8 +10,9 @@ foreach flag: extra_flags
endforeach
sources = files('rte_mempool.c', 'rte_mempool_ops.c',
- 'rte_mempool_ops_default.c')
-headers = files('rte_mempool.h')
+ 'rte_mempool_ops_default.c', 'mempool_trace_points.c')
+headers = files('rte_mempool.h', 'rte_trace_mempool.h',
+ 'rte_trace_mempool_fp.h')
deps += ['ring']
# memseg walk is not yet part of stable API
diff --git a/lib/librte_mempool/rte_mempool.c b/lib/librte_mempool/rte_mempool.c
index 712c839a0..6cc0c7209 100644
--- a/lib/librte_mempool/rte_mempool.c
+++ b/lib/librte_mempool/rte_mempool.c
@@ -33,6 +33,7 @@
#include <rte_tailq.h>
#include "rte_mempool.h"
+#include "rte_trace_mempool.h"
TAILQ_HEAD(rte_mempool_list, rte_tailq_entry);
@@ -377,6 +378,8 @@ rte_mempool_populate_iova(struct rte_mempool *mp, char *vaddr,
if (ret == 0)
ret = -EINVAL;
+ rte_trace_lib_mempool_populate_iova(mp, vaddr, iova, len, free_cb,
+ opaque);
return ret;
}
@@ -444,6 +447,8 @@ rte_mempool_populate_virt(struct rte_mempool *mp, char *addr,
if (cnt == 0)
return -EINVAL;
+ rte_trace_lib_mempool_populate_virt(mp, addr, len, pg_sz, free_cb,
+ opaque);
return cnt;
fail:
@@ -473,6 +478,7 @@ rte_mempool_get_page_size(struct rte_mempool *mp, size_t *pg_sz)
else
*pg_sz = getpagesize();
+ rte_trace_lib_mempool_get_page_size(mp, *pg_sz);
return 0;
}
@@ -611,6 +617,7 @@ rte_mempool_populate_default(struct rte_mempool *mp)
}
}
+ rte_trace_lib_mempool_populate_default(mp);
return mp->size;
fail:
@@ -701,6 +708,7 @@ rte_mempool_populate_anon(struct rte_mempool *mp)
goto fail;
}
+ rte_trace_lib_mempool_populate_anon(mp);
return mp->populated_size;
fail:
@@ -732,6 +740,7 @@ rte_mempool_free(struct rte_mempool *mp)
}
rte_mcfg_tailq_write_unlock();
+ rte_trace_lib_mempool_free(mp);
rte_mempool_free_memchunks(mp);
rte_mempool_ops_free(mp);
rte_memzone_free(mp->mz);
@@ -770,6 +779,7 @@ rte_mempool_cache_create(uint32_t size, int socket_id)
mempool_cache_init(cache, size);
+ rte_trace_lib_mempool_cache_create(size, socket_id, cache);
return cache;
}
@@ -781,6 +791,7 @@ rte_mempool_cache_create(uint32_t size, int socket_id)
void
rte_mempool_cache_free(struct rte_mempool_cache *cache)
{
+ rte_trace_lib_mempool_cache_free(cache);
rte_free(cache);
}
@@ -911,6 +922,8 @@ rte_mempool_create_empty(const char *name, unsigned n, unsigned elt_size,
rte_mcfg_tailq_write_unlock();
rte_mcfg_mempool_write_unlock();
+ rte_trace_lib_mempool_create_empty(name, n, elt_size, cache_size,
+ private_data_size, flags, mp);
return mp;
exit_unlock:
@@ -963,6 +976,9 @@ rte_mempool_create(const char *name, unsigned n, unsigned elt_size,
if (obj_init)
rte_mempool_obj_iter(mp, obj_init, obj_init_arg);
+ rte_trace_lib_mempool_create(name, n, elt_size, cache_size,
+ private_data_size, mp_init, mp_init_arg,
+ obj_init, obj_init_arg, flags, mp);
return mp;
fail:
diff --git a/lib/librte_mempool/rte_mempool.h b/lib/librte_mempool/rte_mempool.h
index c90cf3146..2d0b5ad46 100644
--- a/lib/librte_mempool/rte_mempool.h
+++ b/lib/librte_mempool/rte_mempool.h
@@ -51,6 +51,8 @@
#include <rte_memcpy.h>
#include <rte_common.h>
+#include "rte_trace_mempool_fp.h"
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -736,6 +738,7 @@ rte_mempool_ops_dequeue_bulk(struct rte_mempool *mp,
{
struct rte_mempool_ops *ops;
+ rte_trace_lib_mempool_ops_dequeue_bulk(mp, obj_table, n);
ops = rte_mempool_get_ops(mp->ops_index);
return ops->dequeue(mp, obj_table, n);
}
@@ -761,6 +764,7 @@ rte_mempool_ops_dequeue_contig_blocks(struct rte_mempool *mp,
ops = rte_mempool_get_ops(mp->ops_index);
RTE_ASSERT(ops->dequeue_contig_blocks != NULL);
+ rte_trace_lib_mempool_ops_dequeue_contig_blocks(mp, first_obj_table, n);
return ops->dequeue_contig_blocks(mp, first_obj_table, n);
}
@@ -783,6 +787,7 @@ rte_mempool_ops_enqueue_bulk(struct rte_mempool *mp, void * const *obj_table,
{
struct rte_mempool_ops *ops;
+ rte_trace_lib_mempool_ops_enqueue_bulk(mp, obj_table, n);
ops = rte_mempool_get_ops(mp->ops_index);
return ops->enqueue(mp, obj_table, n);
}
@@ -1264,6 +1269,8 @@ rte_mempool_default_cache(struct rte_mempool *mp, unsigned lcore_id)
if (lcore_id >= RTE_MAX_LCORE)
return NULL;
+ rte_trace_lib_mempool_default_cache(mp, lcore_id,
+ &mp->local_cache[lcore_id]);
return &mp->local_cache[lcore_id];
}
@@ -1283,6 +1290,7 @@ rte_mempool_cache_flush(struct rte_mempool_cache *cache,
cache = rte_mempool_default_cache(mp, rte_lcore_id());
if (cache == NULL || cache->len == 0)
return;
+ rte_trace_lib_mempool_cache_flush(cache, mp);
rte_mempool_ops_enqueue_bulk(mp, cache->objs, cache->len);
cache->len = 0;
}
@@ -1362,6 +1370,7 @@ static __rte_always_inline void
rte_mempool_generic_put(struct rte_mempool *mp, void * const *obj_table,
unsigned int n, struct rte_mempool_cache *cache)
{
+ rte_trace_lib_mempool_generic_put(mp, obj_table, n, cache);
__mempool_check_cookies(mp, obj_table, n, 0);
__mempool_generic_put(mp, obj_table, n, cache);
}
@@ -1386,6 +1395,7 @@ rte_mempool_put_bulk(struct rte_mempool *mp, void * const *obj_table,
{
struct rte_mempool_cache *cache;
cache = rte_mempool_default_cache(mp, rte_lcore_id());
+ rte_trace_lib_mempool_put_bulk(mp, obj_table, n, cache);
rte_mempool_generic_put(mp, obj_table, n, cache);
}
@@ -1507,6 +1517,7 @@ rte_mempool_generic_get(struct rte_mempool *mp, void **obj_table,
ret = __mempool_generic_get(mp, obj_table, n, cache);
if (ret == 0)
__mempool_check_cookies(mp, obj_table, n, 1);
+ rte_trace_lib_mempool_generic_get(mp, obj_table, n, cache);
return ret;
}
@@ -1537,6 +1548,7 @@ rte_mempool_get_bulk(struct rte_mempool *mp, void **obj_table, unsigned int n)
{
struct rte_mempool_cache *cache;
cache = rte_mempool_default_cache(mp, rte_lcore_id());
+ rte_trace_lib_mempool_get_bulk(mp, obj_table, n, cache);
return rte_mempool_generic_get(mp, obj_table, n, cache);
}
@@ -1606,6 +1618,7 @@ rte_mempool_get_contig_blocks(struct rte_mempool *mp,
__MEMPOOL_CONTIG_BLOCKS_STAT_ADD(mp, get_fail, n);
}
+ rte_trace_lib_mempool_get_contig_blocks(mp, first_obj_table, n);
return ret;
}
diff --git a/lib/librte_mempool/rte_mempool_ops.c b/lib/librte_mempool/rte_mempool_ops.c
index 22c5251eb..c1b24a1f3 100644
--- a/lib/librte_mempool/rte_mempool_ops.c
+++ b/lib/librte_mempool/rte_mempool_ops.c
@@ -11,6 +11,8 @@
#include <rte_errno.h>
#include <rte_dev.h>
+#include "rte_trace_mempool.h"
+
/* indirect jump table to support external memory pools. */
struct rte_mempool_ops_table rte_mempool_ops_table = {
.sl = RTE_SPINLOCK_INITIALIZER,
@@ -74,6 +76,7 @@ rte_mempool_ops_alloc(struct rte_mempool *mp)
{
struct rte_mempool_ops *ops;
+ rte_trace_lib_mempool_ops_alloc(mp);
ops = rte_mempool_get_ops(mp->ops_index);
return ops->alloc(mp);
}
@@ -84,6 +87,7 @@ rte_mempool_ops_free(struct rte_mempool *mp)
{
struct rte_mempool_ops *ops;
+ rte_trace_lib_mempool_ops_free(mp);
ops = rte_mempool_get_ops(mp->ops_index);
if (ops->free == NULL)
return;
@@ -130,6 +134,8 @@ rte_mempool_ops_populate(struct rte_mempool *mp, unsigned int max_objs,
ops = rte_mempool_get_ops(mp->ops_index);
+ rte_trace_lib_mempool_ops_populate(mp, max_objs, vaddr, iova, len,
+ obj_cb, obj_cb_arg);
if (ops->populate == NULL)
return rte_mempool_op_populate_default(mp, max_objs, vaddr,
iova, len, obj_cb,
@@ -178,5 +184,6 @@ rte_mempool_set_ops_byname(struct rte_mempool *mp, const char *name,
mp->ops_index = i;
mp->pool_config = pool_config;
+ rte_trace_lib_mempool_set_ops_byname(mp, name, pool_config);
return 0;
}
diff --git a/lib/librte_mempool/rte_mempool_version.map b/lib/librte_mempool/rte_mempool_version.map
index d002dfc46..2d2594635 100644
--- a/lib/librte_mempool/rte_mempool_version.map
+++ b/lib/librte_mempool/rte_mempool_version.map
@@ -45,4 +45,30 @@ EXPERIMENTAL {
rte_mempool_get_page_size;
rte_mempool_op_calc_mem_size_helper;
rte_mempool_op_populate_helper;
+
+ # added in 20.05
+ __rte_trace_lib_mempool_ops_dequeue_bulk;
+ __rte_trace_lib_mempool_ops_dequeue_contig_blocks;
+ __rte_trace_lib_mempool_ops_enqueue_bulk;
+ __rte_trace_lib_mempool_generic_put;
+ __rte_trace_lib_mempool_put_bulk;
+ __rte_trace_lib_mempool_generic_get;
+ __rte_trace_lib_mempool_get_bulk;
+ __rte_trace_lib_mempool_get_contig_blocks;
+ __rte_trace_lib_mempool_create;
+ __rte_trace_lib_mempool_create_empty;
+ __rte_trace_lib_mempool_free;
+ __rte_trace_lib_mempool_populate_iova;
+ __rte_trace_lib_mempool_populate_virt;
+ __rte_trace_lib_mempool_populate_default;
+ __rte_trace_lib_mempool_populate_anon;
+ __rte_trace_lib_mempool_cache_create;
+ __rte_trace_lib_mempool_cache_free;
+ __rte_trace_lib_mempool_default_cache;
+ __rte_trace_lib_mempool_get_page_size;
+ __rte_trace_lib_mempool_cache_flush;
+ __rte_trace_lib_mempool_ops_populate;
+ __rte_trace_lib_mempool_ops_alloc;
+ __rte_trace_lib_mempool_ops_free;
+ __rte_trace_lib_mempool_set_ops_byname;
};
diff --git a/lib/librte_mempool/rte_trace_mempool.h b/lib/librte_mempool/rte_trace_mempool.h
new file mode 100644
index 000000000..12af2e301
--- /dev/null
+++ b/lib/librte_mempool/rte_trace_mempool.h
@@ -0,0 +1,148 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2020 Marvell International Ltd.
+ */
+
+#ifndef _RTE_TRACE_MEMPOOL_H_
+#define _RTE_TRACE_MEMPOOL_H_
+
+/**
+ * @file
+ *
+ * APIs for mempool trace support
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "rte_mempool.h"
+
+#include <rte_trace.h>
+#include <rte_memzone.h>
+
+RTE_TRACE_POINT(
+ rte_trace_lib_mempool_create,
+ RTE_TRACE_POINT_ARGS(const char *name, uint32_t nb_elts,
+ uint32_t elt_size, uint32_t cache_size,
+ uint32_t private_data_size, void *mp_init,
+ void *mp_init_arg, void *obj_init,
+ void *obj_init_arg, uint32_t flags,
+ struct rte_mempool *mempool),
+ rte_trace_ctf_string(name); rte_trace_ctf_u32(nb_elts);
+ rte_trace_ctf_u32(elt_size); rte_trace_ctf_u32(cache_size);
+ rte_trace_ctf_u32(private_data_size); rte_trace_ctf_ptr(mp_init);
+ rte_trace_ctf_ptr(mp_init_arg); rte_trace_ctf_ptr(obj_init);
+ rte_trace_ctf_ptr(obj_init_arg); rte_trace_ctf_u32(flags);
+ rte_trace_ctf_ptr(mempool); rte_trace_ctf_i32(mempool->ops_index);
+)
+
+RTE_TRACE_POINT(
+ rte_trace_lib_mempool_create_empty,
+ RTE_TRACE_POINT_ARGS(const char *name, uint32_t nb_elts,
+ uint32_t elt_size, uint32_t cache_size,
+ uint32_t private_data_size, uint32_t flags,
+ struct rte_mempool *mempool),
+ rte_trace_ctf_string(name); rte_trace_ctf_u32(nb_elts);
+ rte_trace_ctf_u32(elt_size); rte_trace_ctf_u32(cache_size);
+ rte_trace_ctf_u32(private_data_size); rte_trace_ctf_u32(flags);
+ rte_trace_ctf_ptr(mempool); rte_trace_ctf_i32(mempool->ops_index);
+)
+
+RTE_TRACE_POINT(
+ rte_trace_lib_mempool_free,
+ RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool),
+ rte_trace_ctf_ptr(mempool); rte_trace_ctf_string(mempool->name);
+)
+
+RTE_TRACE_POINT(
+ rte_trace_lib_mempool_populate_iova,
+ RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool, void *vaddr,
+ rte_iova_t iova, size_t len, void *free_cb,
+ void *opaque),
+ rte_trace_ctf_ptr(mempool); rte_trace_ctf_string(mempool->name);
+ rte_trace_ctf_ptr(vaddr); rte_trace_ctf_u64(iova);
+ rte_trace_ctf_long(len); rte_trace_ctf_ptr(free_cb);
+ rte_trace_ctf_ptr(opaque);
+)
+
+RTE_TRACE_POINT(
+ rte_trace_lib_mempool_populate_virt,
+ RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool, void *addr,
+ size_t len, size_t pg_sz, void *free_cb,
+ void *opaque),
+ rte_trace_ctf_ptr(mempool); rte_trace_ctf_string(mempool->name);
+ rte_trace_ctf_ptr(addr); rte_trace_ctf_long(len);
+ rte_trace_ctf_long(pg_sz); rte_trace_ctf_ptr(free_cb);
+ rte_trace_ctf_ptr(opaque);
+)
+
+RTE_TRACE_POINT(
+ rte_trace_lib_mempool_populate_default,
+ RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool),
+ rte_trace_ctf_ptr(mempool); rte_trace_ctf_string(mempool->name);
+)
+
+RTE_TRACE_POINT(
+ rte_trace_lib_mempool_populate_anon,
+ RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool),
+ rte_trace_ctf_ptr(mempool); rte_trace_ctf_string(mempool->name);
+)
+
+RTE_TRACE_POINT(
+ rte_trace_lib_mempool_cache_create,
+ RTE_TRACE_POINT_ARGS(uint32_t size, int socket_id,
+ struct rte_mempool_cache *cache),
+ rte_trace_ctf_u32(size); rte_trace_ctf_i32(socket_id);
+ rte_trace_ctf_ptr(cache); rte_trace_ctf_u32(cache->len);
+ rte_trace_ctf_u32(cache->flushthresh);
+)
+
+RTE_TRACE_POINT(
+ rte_trace_lib_mempool_cache_free,
+ RTE_TRACE_POINT_ARGS(void *cache),
+ rte_trace_ctf_ptr(cache);
+)
+
+RTE_TRACE_POINT(
+ rte_trace_lib_mempool_get_page_size,
+ RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool, size_t pg_sz),
+ rte_trace_ctf_ptr(mempool); rte_trace_ctf_string(mempool->name);
+ rte_trace_ctf_long(pg_sz);
+)
+
+RTE_TRACE_POINT(
+ rte_trace_lib_mempool_ops_populate,
+ RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool, uint32_t max_objs,
+ void *vaddr, uint64_t iova, size_t len,
+ void *obj_cb, void *obj_cb_arg),
+ rte_trace_ctf_ptr(mempool); rte_trace_ctf_string(mempool->name);
+ rte_trace_ctf_u32(max_objs); rte_trace_ctf_ptr(vaddr);
+ rte_trace_ctf_u64(iova); rte_trace_ctf_long(len);
+ rte_trace_ctf_ptr(obj_cb); rte_trace_ctf_ptr(obj_cb_arg);
+)
+
+RTE_TRACE_POINT(
+ rte_trace_lib_mempool_ops_alloc,
+ RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool),
+ rte_trace_ctf_ptr(mempool); rte_trace_ctf_string(mempool->name);
+)
+
+RTE_TRACE_POINT(
+ rte_trace_lib_mempool_ops_free,
+ RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool),
+ rte_trace_ctf_ptr(mempool); rte_trace_ctf_string(mempool->name);
+)
+
+RTE_TRACE_POINT(
+ rte_trace_lib_mempool_set_ops_byname,
+ RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool, const char *name,
+ void *pool_config),
+ rte_trace_ctf_ptr(mempool); rte_trace_ctf_string(mempool->name);
+ rte_trace_ctf_string(name); rte_trace_ctf_ptr(pool_config);
+)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RTE_TRACE_MEMPOOL_H_ */
diff --git a/lib/librte_mempool/rte_trace_mempool_fp.h b/lib/librte_mempool/rte_trace_mempool_fp.h
new file mode 100644
index 000000000..7aad5e3c2
--- /dev/null
+++ b/lib/librte_mempool/rte_trace_mempool_fp.h
@@ -0,0 +1,102 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2020 Marvell International Ltd.
+ */
+
+#ifndef _RTE_TRACE_MEMPOOL_FP_H_
+#define _RTE_TRACE_MEMPOOL_FP_H_
+
+/**
+ * @file
+ *
+ * Mempool fast path API for trace support
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <rte_trace.h>
+
+RTE_TRACE_POINT_DP(
+ rte_trace_lib_mempool_ops_dequeue_bulk,
+ RTE_TRACE_POINT_ARGS(void *mempool, void **obj_table,
+ uint32_t nb_objs),
+ rte_trace_ctf_ptr(mempool); rte_trace_ctf_ptr(obj_table);
+ rte_trace_ctf_u32(nb_objs);
+)
+
+RTE_TRACE_POINT_DP(
+ rte_trace_lib_mempool_ops_dequeue_contig_blocks,
+ RTE_TRACE_POINT_ARGS(void *mempool, void **first_obj_table,
+ uint32_t nb_objs),
+ rte_trace_ctf_ptr(mempool); rte_trace_ctf_ptr(first_obj_table);
+ rte_trace_ctf_u32(nb_objs);
+)
+
+RTE_TRACE_POINT_DP(
+ rte_trace_lib_mempool_ops_enqueue_bulk,
+ RTE_TRACE_POINT_ARGS(void *mempool, void * const *obj_table,
+ uint32_t nb_objs),
+ rte_trace_ctf_ptr(mempool); rte_trace_ctf_ptr(obj_table);
+ rte_trace_ctf_u32(nb_objs);
+)
+
+RTE_TRACE_POINT_DP(
+ rte_trace_lib_mempool_generic_put,
+ RTE_TRACE_POINT_ARGS(void *mempool, void * const *obj_table,
+ uint32_t nb_objs, void *cache),
+ rte_trace_ctf_ptr(mempool); rte_trace_ctf_ptr(obj_table);
+ rte_trace_ctf_u32(nb_objs); rte_trace_ctf_ptr(cache);
+)
+
+RTE_TRACE_POINT_DP(
+ rte_trace_lib_mempool_put_bulk,
+ RTE_TRACE_POINT_ARGS(void *mempool, void * const *obj_table,
+ uint32_t nb_objs, void *cache),
+ rte_trace_ctf_ptr(mempool); rte_trace_ctf_ptr(obj_table);
+ rte_trace_ctf_u32(nb_objs); rte_trace_ctf_ptr(cache);
+)
+
+RTE_TRACE_POINT_DP(
+ rte_trace_lib_mempool_generic_get,
+ RTE_TRACE_POINT_ARGS(void *mempool, void * const *obj_table,
+ uint32_t nb_objs, void *cache),
+ rte_trace_ctf_ptr(mempool); rte_trace_ctf_ptr(obj_table);
+ rte_trace_ctf_u32(nb_objs); rte_trace_ctf_ptr(cache);
+)
+
+RTE_TRACE_POINT_DP(
+ rte_trace_lib_mempool_get_bulk,
+ RTE_TRACE_POINT_ARGS(void *mempool, void **obj_table,
+ uint32_t nb_objs, void *cache),
+ rte_trace_ctf_ptr(mempool); rte_trace_ctf_ptr(obj_table);
+ rte_trace_ctf_u32(nb_objs); rte_trace_ctf_ptr(cache);
+)
+
+RTE_TRACE_POINT_DP(
+ rte_trace_lib_mempool_get_contig_blocks,
+ RTE_TRACE_POINT_ARGS(void *mempool, void **first_obj_table,
+ uint32_t nb_objs),
+ rte_trace_ctf_ptr(mempool); rte_trace_ctf_ptr(first_obj_table);
+ rte_trace_ctf_u32(nb_objs);
+)
+
+RTE_TRACE_POINT_DP(
+ rte_trace_lib_mempool_default_cache,
+ RTE_TRACE_POINT_ARGS(void *mempool, uint32_t lcore_id,
+ void *default_cache),
+ rte_trace_ctf_ptr(mempool); rte_trace_ctf_u32(lcore_id);
+ rte_trace_ctf_ptr(default_cache);
+)
+
+RTE_TRACE_POINT_DP(
+ rte_trace_lib_mempool_cache_flush,
+ RTE_TRACE_POINT_ARGS(void *cache, void *mempool),
+ rte_trace_ctf_ptr(cache); rte_trace_ctf_ptr(mempool);
+)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RTE_TRACE_MEMPOOL_FP_H_ */
diff --git a/lib/librte_reorder/Makefile b/lib/librte_reorder/Makefile
index 1914411d5..26e7bbfbc 100644
--- a/lib/librte_reorder/Makefile
+++ b/lib/librte_reorder/Makefile
@@ -7,6 +7,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
LIB = librte_reorder.a
CFLAGS += -O3
+CFLAGS += -DALLOW_EXPERIMENTAL_API
CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf
diff --git a/lib/librte_reorder/meson.build b/lib/librte_reorder/meson.build
index 03aed53d9..964f01d9b 100644
--- a/lib/librte_reorder/meson.build
+++ b/lib/librte_reorder/meson.build
@@ -1,6 +1,7 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation
+allow_experimental_apis = true
sources = files('rte_reorder.c')
headers = files('rte_reorder.h')
deps += ['mbuf']
diff --git a/lib/librte_sched/Makefile b/lib/librte_sched/Makefile
index aee93a120..4ad7a18cd 100644
--- a/lib/librte_sched/Makefile
+++ b/lib/librte_sched/Makefile
@@ -10,6 +10,7 @@ LIB = librte_sched.a
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
+CFLAGS += -DALLOW_EXPERIMENTAL_API
LDLIBS += -lm
LDLIBS += -lrt
diff --git a/lib/librte_sched/meson.build b/lib/librte_sched/meson.build
index f85d64df8..ba178a126 100644
--- a/lib/librte_sched/meson.build
+++ b/lib/librte_sched/meson.build
@@ -1,6 +1,7 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation
+allow_experimental_apis = true
sources = files('rte_sched.c', 'rte_red.c', 'rte_approx.c')
headers = files('rte_sched.h', 'rte_sched_common.h',
'rte_red.h', 'rte_approx.h')
diff --git a/lib/librte_security/Makefile b/lib/librte_security/Makefile
index 825eaeff8..bf530e99a 100644
--- a/lib/librte_security/Makefile
+++ b/lib/librte_security/Makefile
@@ -9,6 +9,7 @@ LIB = librte_security.a
# build flags
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
+CFLAGS += -DALLOW_EXPERIMENTAL_API
LDLIBS += -lrte_eal -lrte_mempool
# library source files
diff --git a/lib/librte_security/meson.build b/lib/librte_security/meson.build
index 5679c8b5c..ada46b0c6 100644
--- a/lib/librte_security/meson.build
+++ b/lib/librte_security/meson.build
@@ -1,6 +1,7 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017-2019 Intel Corporation
+allow_experimental_apis = true
sources = files('rte_security.c')
headers = files('rte_security.h', 'rte_security_driver.h')
deps += ['mempool', 'cryptodev']
diff --git a/lib/librte_table/Makefile b/lib/librte_table/Makefile
index 6ad8a6b17..88cb909be 100644
--- a/lib/librte_table/Makefile
+++ b/lib/librte_table/Makefile
@@ -10,6 +10,7 @@ LIB = librte_table.a
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
+CFLAGS += -DALLOW_EXPERIMENTAL_API
LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_port
LDLIBS += -lrte_lpm -lrte_hash
ifeq ($(CONFIG_RTE_LIBRTE_ACL),y)
diff --git a/lib/librte_table/meson.build b/lib/librte_table/meson.build
index 71d134768..05703e67c 100644
--- a/lib/librte_table/meson.build
+++ b/lib/librte_table/meson.build
@@ -1,6 +1,7 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation
+allow_experimental_apis = true
sources = files('rte_table_acl.c',
'rte_table_lpm.c',
'rte_table_lpm_ipv6.c',
--
2.25.1
next prev parent reply other threads:[~2020-03-29 14:51 UTC|newest]
Thread overview: 321+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-18 19:02 [dpdk-dev] [PATCH v1 00/32] DPDK Trace support jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 01/32] eal: introduce API for getting thread name jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 02/32] eal: define the public API for trace support jerinj
2020-03-18 20:58 ` Mattias Rönnblom
2020-03-23 14:29 ` Jerin Jacob
2020-03-23 14:46 ` Mattias Rönnblom
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 03/32] eal/trace: implement trace register API jerinj
2020-03-19 10:02 ` Mattias Rönnblom
2020-03-23 13:37 ` Jerin Jacob
2020-03-23 14:43 ` Mattias Rönnblom
2020-03-23 15:08 ` Jerin Jacob
2020-03-23 16:44 ` Mattias Rönnblom
2020-03-23 18:40 ` Jerin Jacob
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 04/32] eal/trace: implement trace operation APIs jerinj
2020-03-19 10:16 ` Mattias Rönnblom
2020-03-23 12:23 ` Jerin Jacob
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 05/32] eal/trace: add internal trace init and fini interface jerinj
2020-03-19 10:35 ` Mattias Rönnblom
2020-03-23 12:09 ` Jerin Jacob
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 06/32] eal/trace: get bootup timestamp for trace jerinj
2020-03-19 10:43 ` Mattias Rönnblom
2020-03-23 11:24 ` Jerin Jacob
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 07/32] eal/trace: create CTF TDSL metadata in memory jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 08/32] eal/trace: handle CTF keyword collision jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 09/32] eal/trace: implement trace memory allocation jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 10/32] eal/trace: implement debug dump function jerinj
2020-03-23 10:56 ` Morten Brørup
2020-03-23 11:08 ` Jerin Jacob
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 11/32] eal/trace: implement trace save jerinj
2020-03-19 19:07 ` Mattias Rönnblom
2020-03-23 9:26 ` Jerin Jacob
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 12/32] eal/trace: implement registration payload jerinj
2020-03-19 19:15 ` Mattias Rönnblom
2020-03-23 9:24 ` Jerin Jacob
2020-03-23 10:18 ` Mattias Rönnblom
2020-03-23 10:50 ` Jerin Jacob
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 13/32] eal/trace: implement provider payload jerinj
2020-03-19 19:27 ` Mattias Rönnblom
2020-03-23 9:19 ` Jerin Jacob
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 14/32] eal/trace: hook internal trace APIs to Linux jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 15/32] eal/trace: hook internal trace APIs to FreeBSD jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 16/32] eal/trace: add generic tracepoints jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 17/32] eal/trace: add alarm tracepoints jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 18/32] eal/trace: add memory tracepoints jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 19/32] eal/trace: add memzone tracepoints jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 20/32] eal/trace: add thread tracepoints jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 21/32] eal/trace: add interrupt tracepoints jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 22/32] eal/trace: add trace level configuration parameter jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 23/32] eal/trace: add trace dir " jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 24/32] eal/trace: add trace bufsize " jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 25/32] eal/trace: add trace mode " jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 26/32] eal/trace: add unit test cases jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 27/32] eal/trace: add trace performance " jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 28/32] ethdev: add tracepoints jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 29/32] eventdev: " jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 30/32] cryptodev: " jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 31/32] mempool: " jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 32/32] doc: add trace library guide jerinj
2020-03-25 21:15 ` [dpdk-dev] [PATCH v2 00/32] DPDK Trace support jerinj
2020-03-25 21:15 ` [dpdk-dev] [PATCH v2 01/32] eal: introduce API for getting thread name jerinj
2020-03-25 21:15 ` [dpdk-dev] [PATCH v2 02/32] eal: define the public API for trace support jerinj
2020-03-25 21:15 ` [dpdk-dev] [PATCH v2 03/32] eal/trace: implement trace register API jerinj
2020-03-25 21:15 ` [dpdk-dev] [PATCH v2 04/32] eal/trace: implement trace operation APIs jerinj
2020-03-25 21:15 ` [dpdk-dev] [PATCH v2 05/32] eal/trace: add internal trace init and fini interface jerinj
2020-03-25 21:15 ` [dpdk-dev] [PATCH v2 06/32] eal/trace: get bootup timestamp for trace jerinj
2020-03-25 21:15 ` [dpdk-dev] [PATCH v2 07/32] eal/trace: create CTF TDSL metadata in memory jerinj
2020-03-25 21:15 ` [dpdk-dev] [PATCH v2 08/32] eal/trace: handle CTF keyword collision jerinj
2020-03-25 21:15 ` [dpdk-dev] [PATCH v2 09/32] eal/trace: implement trace memory allocation jerinj
2020-03-25 21:15 ` [dpdk-dev] [PATCH v2 10/32] eal/trace: implement debug dump function jerinj
2020-03-25 21:15 ` [dpdk-dev] [PATCH v2 11/32] eal/trace: implement trace save jerinj
2020-03-25 21:15 ` [dpdk-dev] [PATCH v2 12/32] eal/trace: implement registration payload jerinj
2020-03-25 21:15 ` [dpdk-dev] [PATCH v2 13/32] eal/trace: implement provider payload jerinj
2020-03-25 21:15 ` [dpdk-dev] [PATCH v2 14/32] eal/trace: hook internal trace APIs to Linux jerinj
2020-03-25 21:15 ` [dpdk-dev] [PATCH v2 15/32] eal/trace: hook internal trace APIs to FreeBSD jerinj
2020-03-25 21:15 ` [dpdk-dev] [PATCH v2 16/32] eal/trace: add generic tracepoints jerinj
2020-03-25 21:15 ` [dpdk-dev] [PATCH v2 17/32] eal/trace: add alarm tracepoints jerinj
2020-03-25 21:15 ` [dpdk-dev] [PATCH v2 18/32] eal/trace: add memory tracepoints jerinj
2020-03-25 21:15 ` [dpdk-dev] [PATCH v2 19/32] eal/trace: add memzone tracepoints jerinj
2020-03-25 21:15 ` [dpdk-dev] [PATCH v2 20/32] eal/trace: add thread tracepoints jerinj
2020-03-25 21:15 ` [dpdk-dev] [PATCH v2 21/32] eal/trace: add interrupt tracepoints jerinj
2020-03-25 21:15 ` [dpdk-dev] [PATCH v2 22/32] eal/trace: add trace level configuration parameter jerinj
2020-03-25 21:15 ` [dpdk-dev] [PATCH v2 23/32] eal/trace: add trace dir " jerinj
2020-03-25 21:15 ` [dpdk-dev] [PATCH v2 24/32] eal/trace: add trace bufsize " jerinj
2020-03-25 21:15 ` [dpdk-dev] [PATCH v2 25/32] eal/trace: add trace mode " jerinj
2020-03-25 21:15 ` [dpdk-dev] [PATCH v2 26/32] eal/trace: add unit test cases jerinj
2020-03-25 21:15 ` [dpdk-dev] [PATCH v2 27/32] eal/trace: add trace performance " jerinj
2020-03-25 21:15 ` [dpdk-dev] [PATCH v2 28/32] ethdev: add tracepoints jerinj
2020-03-25 21:15 ` [dpdk-dev] [PATCH v2 29/32] eventdev: " jerinj
2020-03-25 21:16 ` [dpdk-dev] [PATCH v2 30/32] cryptodev: " jerinj
2020-03-25 21:16 ` [dpdk-dev] [PATCH v2 31/32] mempool: " jerinj
2020-03-25 21:16 ` [dpdk-dev] [PATCH v2 32/32] doc: add trace library guide jerinj
2020-03-29 14:43 ` [dpdk-dev] [PATCH v3 00/33] DPDK Trace support jerinj
2020-03-29 14:43 ` [dpdk-dev] [PATCH v3 01/33] meson: add libatomic as a global dependency for i686 clang jerinj
2020-03-30 13:17 ` Bruce Richardson
2020-03-31 13:36 ` Pavan Nikhilesh Bhagavatula
2020-03-31 16:21 ` Bruce Richardson
2020-03-29 14:43 ` [dpdk-dev] [PATCH v3 02/33] eal: introduce API for getting thread name jerinj
2020-03-29 14:43 ` [dpdk-dev] [PATCH v3 03/33] eal: define the public API for trace support jerinj
2020-03-29 14:43 ` [dpdk-dev] [PATCH v3 04/33] eal/trace: implement trace register API jerinj
2020-03-29 14:43 ` [dpdk-dev] [PATCH v3 05/33] eal/trace: implement trace operation APIs jerinj
2020-03-29 14:43 ` [dpdk-dev] [PATCH v3 06/33] eal/trace: add internal trace init and fini interface jerinj
2020-03-29 14:43 ` [dpdk-dev] [PATCH v3 07/33] eal/trace: get bootup timestamp for trace jerinj
2020-03-29 14:43 ` [dpdk-dev] [PATCH v3 08/33] eal/trace: create CTF TDSL metadata in memory jerinj
2020-03-29 14:43 ` [dpdk-dev] [PATCH v3 09/33] eal/trace: handle CTF keyword collision jerinj
2020-03-29 14:43 ` [dpdk-dev] [PATCH v3 10/33] eal/trace: implement trace memory allocation jerinj
2020-03-29 14:43 ` [dpdk-dev] [PATCH v3 11/33] eal/trace: implement debug dump function jerinj
2020-03-29 14:43 ` [dpdk-dev] [PATCH v3 12/33] eal/trace: implement trace save jerinj
2020-03-29 14:43 ` [dpdk-dev] [PATCH v3 13/33] eal/trace: implement registration payload jerinj
2020-03-29 14:43 ` [dpdk-dev] [PATCH v3 14/33] eal/trace: implement provider payload jerinj
2020-03-29 14:43 ` [dpdk-dev] [PATCH v3 15/33] eal/trace: hook internal trace APIs to Linux jerinj
2020-03-29 14:43 ` [dpdk-dev] [PATCH v3 16/33] eal/trace: hook internal trace APIs to FreeBSD jerinj
2020-03-29 14:43 ` [dpdk-dev] [PATCH v3 17/33] eal/trace: add generic tracepoints jerinj
2020-03-29 14:43 ` [dpdk-dev] [PATCH v3 18/33] eal/trace: add alarm tracepoints jerinj
2020-03-29 14:43 ` [dpdk-dev] [PATCH v3 19/33] eal/trace: add memory tracepoints jerinj
2020-03-29 14:43 ` [dpdk-dev] [PATCH v3 20/33] eal/trace: add memzone tracepoints jerinj
2020-03-29 14:43 ` [dpdk-dev] [PATCH v3 21/33] eal/trace: add thread tracepoints jerinj
2020-03-29 14:43 ` [dpdk-dev] [PATCH v3 22/33] eal/trace: add interrupt tracepoints jerinj
2020-03-29 14:43 ` [dpdk-dev] [PATCH v3 23/33] eal/trace: add trace level configuration parameter jerinj
2020-03-29 14:43 ` [dpdk-dev] [PATCH v3 24/33] eal/trace: add trace dir " jerinj
2020-03-29 14:43 ` [dpdk-dev] [PATCH v3 25/33] eal/trace: add trace bufsize " jerinj
2020-03-29 14:43 ` [dpdk-dev] [PATCH v3 26/33] eal/trace: add trace mode " jerinj
2020-03-29 14:43 ` [dpdk-dev] [PATCH v3 27/33] eal/trace: add unit test cases jerinj
2020-03-29 14:43 ` [dpdk-dev] [PATCH v3 28/33] eal/trace: add trace performance " jerinj
2020-03-29 14:43 ` [dpdk-dev] [PATCH v3 29/33] ethdev: add tracepoints jerinj
2020-03-29 14:43 ` [dpdk-dev] [PATCH v3 30/33] eventdev: " jerinj
2020-03-29 14:43 ` [dpdk-dev] [PATCH v3 31/33] cryptodev: " jerinj
2020-03-29 14:43 ` jerinj [this message]
2020-03-29 14:43 ` [dpdk-dev] [PATCH v3 33/33] doc: add trace library guide jerinj
2020-04-01 14:57 ` Thomas Monjalon
2020-04-01 16:53 ` Jerin Jacob
2020-04-01 8:18 ` [dpdk-dev] [PATCH v3 00/33] DPDK Trace support David Marchand
2020-04-01 10:04 ` Jerin Jacob
2020-04-01 14:12 ` David Marchand
2020-04-01 14:16 ` Thomas Monjalon
2020-04-01 16:25 ` Jerin Jacob
2020-04-01 16:46 ` Bruce Richardson
2020-04-01 16:58 ` Jerin Jacob
2020-04-01 17:32 ` David Marchand
2020-04-01 17:52 ` Jerin Jacob
2020-04-01 19:14 ` Jerin Jacob
2020-04-01 19:43 ` Thomas Monjalon
2020-04-01 20:00 ` Jerin Jacob
2020-04-03 15:36 ` [dpdk-dev] [PATCH v4 " jerinj
2020-04-03 15:36 ` [dpdk-dev] [PATCH v4 01/33] meson: add libatomic as a global dependency for i686 clang jerinj
2020-04-03 15:36 ` [dpdk-dev] [PATCH v4 02/33] eal: introduce API for getting thread name jerinj
2020-04-03 15:36 ` [dpdk-dev] [PATCH v4 03/33] eal/trace: define the public API for trace support jerinj
2020-04-03 15:36 ` [dpdk-dev] [PATCH v4 04/33] eal/trace: implement trace register API jerinj
2020-04-03 15:36 ` [dpdk-dev] [PATCH v4 05/33] eal/trace: implement trace operation APIs jerinj
2020-04-03 15:36 ` [dpdk-dev] [PATCH v4 06/33] eal/trace: add internal trace init and fini interface jerinj
2020-04-03 15:36 ` [dpdk-dev] [PATCH v4 07/33] eal/trace: get bootup timestamp for trace jerinj
2020-04-03 15:36 ` [dpdk-dev] [PATCH v4 08/33] eal/trace: create CTF TDSL metadata in memory jerinj
2020-04-03 15:36 ` [dpdk-dev] [PATCH v4 09/33] eal/trace: handle CTF keyword collision jerinj
2020-04-03 15:36 ` [dpdk-dev] [PATCH v4 10/33] eal/trace: implement trace memory allocation jerinj
2020-04-03 15:36 ` [dpdk-dev] [PATCH v4 11/33] eal/trace: implement debug dump function jerinj
2020-04-03 15:36 ` [dpdk-dev] [PATCH v4 12/33] eal/trace: implement trace save jerinj
2020-04-03 15:36 ` [dpdk-dev] [PATCH v4 13/33] eal/trace: implement registration payload jerinj
2020-04-03 15:36 ` [dpdk-dev] [PATCH v4 14/33] eal/trace: implement provider payload jerinj
2020-04-03 15:36 ` [dpdk-dev] [PATCH v4 15/33] eal/trace: hook internal trace APIs to Linux jerinj
2020-04-03 15:36 ` [dpdk-dev] [PATCH v4 16/33] eal/trace: hook internal trace APIs to FreeBSD jerinj
2020-04-03 15:36 ` [dpdk-dev] [PATCH v4 17/33] eal/trace: add generic tracepoints jerinj
2020-04-03 15:36 ` [dpdk-dev] [PATCH v4 18/33] eal/trace: add alarm tracepoints jerinj
2020-04-03 15:36 ` [dpdk-dev] [PATCH v4 19/33] eal/trace: add memory tracepoints jerinj
2020-04-03 15:36 ` [dpdk-dev] [PATCH v4 20/33] eal/trace: add memzone tracepoints jerinj
2020-04-03 15:36 ` [dpdk-dev] [PATCH v4 21/33] eal/trace: add thread tracepoints jerinj
2020-04-03 15:36 ` [dpdk-dev] [PATCH v4 22/33] eal/trace: add interrupt tracepoints jerinj
2020-04-03 15:36 ` [dpdk-dev] [PATCH v4 23/33] eal/trace: add trace level configuration parameter jerinj
2020-04-03 15:37 ` [dpdk-dev] [PATCH v4 24/33] eal/trace: add trace dir " jerinj
2020-04-03 15:37 ` [dpdk-dev] [PATCH v4 25/33] eal/trace: add trace bufsize " jerinj
2020-04-03 15:37 ` [dpdk-dev] [PATCH v4 26/33] eal/trace: add trace mode " jerinj
2020-04-03 15:37 ` [dpdk-dev] [PATCH v4 27/33] eal/trace: add unit test cases jerinj
2020-04-03 15:37 ` [dpdk-dev] [PATCH v4 28/33] eal/trace: add trace performance " jerinj
2020-04-03 15:37 ` [dpdk-dev] [PATCH v4 29/33] ethdev: add tracepoints jerinj
2020-04-03 15:37 ` [dpdk-dev] [PATCH v4 30/33] eventdev: " jerinj
2020-04-03 15:37 ` [dpdk-dev] [PATCH v4 31/33] cryptodev: " jerinj
2020-04-03 15:37 ` [dpdk-dev] [PATCH v4 32/33] mempool: " jerinj
2020-04-03 15:37 ` [dpdk-dev] [PATCH v4 33/33] doc: add trace library guide jerinj
2020-04-09 14:00 ` [dpdk-dev] [PATCH v4 00/33] DPDK Trace support Thomas Monjalon
2020-04-09 15:36 ` Jerin Jacob
2020-04-09 16:00 ` Thomas Monjalon
2020-04-09 16:34 ` Jerin Jacob
2020-04-09 17:11 ` Thomas Monjalon
2020-04-09 18:27 ` Jerin Jacob
2020-04-09 18:52 ` Jerin Jacob
2020-04-10 13:15 ` David Marchand
2020-04-10 13:29 ` Jerin Jacob
2020-04-10 13:45 ` David Marchand
2020-04-10 14:37 ` Jerin Jacob
2020-04-10 15:00 ` David Marchand
2020-04-10 15:11 ` Thomas Monjalon
2020-04-10 15:12 ` Thomas Monjalon
2020-04-10 17:56 ` Jerin Jacob
2020-04-13 15:00 ` [dpdk-dev] [PATCH v5 " jerinj
2020-04-13 15:00 ` [dpdk-dev] [PATCH v5 01/33] meson: add libatomic as a global dependency for i686 clang jerinj
2020-04-13 15:00 ` [dpdk-dev] [PATCH v5 02/33] eal: introduce API for getting thread name jerinj
2020-04-13 15:00 ` [dpdk-dev] [PATCH v5 03/33] eal/trace: define the public API for trace support jerinj
2020-04-13 15:00 ` [dpdk-dev] [PATCH v5 04/33] eal/trace: implement trace register API jerinj
2020-04-16 13:39 ` David Marchand
2020-04-13 15:00 ` [dpdk-dev] [PATCH v5 05/33] eal/trace: implement trace operation APIs jerinj
2020-04-16 13:40 ` David Marchand
2020-04-13 15:00 ` [dpdk-dev] [PATCH v5 06/33] eal/trace: add internal trace init and fini interface jerinj
2020-04-13 15:00 ` [dpdk-dev] [PATCH v5 07/33] eal/trace: get bootup timestamp for trace jerinj
2020-04-13 15:00 ` [dpdk-dev] [PATCH v5 08/33] eal/trace: create CTF TDSL metadata in memory jerinj
2020-04-13 15:00 ` [dpdk-dev] [PATCH v5 09/33] eal/trace: handle CTF keyword collision jerinj
2020-04-13 15:00 ` [dpdk-dev] [PATCH v5 10/33] eal/trace: implement trace memory allocation jerinj
2020-04-13 15:00 ` [dpdk-dev] [PATCH v5 11/33] eal/trace: implement debug dump function jerinj
2020-04-13 15:00 ` [dpdk-dev] [PATCH v5 12/33] eal/trace: implement trace save jerinj
2020-04-13 15:00 ` [dpdk-dev] [PATCH v5 13/33] eal/trace: implement registration payload jerinj
2020-04-16 13:40 ` David Marchand
2020-04-13 15:00 ` [dpdk-dev] [PATCH v5 14/33] eal/trace: implement provider payload jerinj
2020-04-13 15:00 ` [dpdk-dev] [PATCH v5 15/33] eal/trace: hook internal trace APIs to Linux jerinj
2020-04-13 15:00 ` [dpdk-dev] [PATCH v5 16/33] eal/trace: hook internal trace APIs to FreeBSD jerinj
2020-04-13 15:01 ` [dpdk-dev] [PATCH v5 17/33] eal/trace: add generic tracepoints jerinj
2020-04-13 15:01 ` [dpdk-dev] [PATCH v5 18/33] eal/trace: add alarm tracepoints jerinj
2020-04-13 15:01 ` [dpdk-dev] [PATCH v5 19/33] eal/trace: add memory tracepoints jerinj
2020-04-13 15:01 ` [dpdk-dev] [PATCH v5 20/33] eal/trace: add memzone tracepoints jerinj
2020-04-13 15:01 ` [dpdk-dev] [PATCH v5 21/33] eal/trace: add thread tracepoints jerinj
2020-04-13 15:01 ` [dpdk-dev] [PATCH v5 22/33] eal/trace: add interrupt tracepoints jerinj
2020-04-13 15:01 ` [dpdk-dev] [PATCH v5 23/33] eal/trace: add trace configuration parameter jerinj
2020-04-13 15:01 ` [dpdk-dev] [PATCH v5 24/33] eal/trace: add trace dir " jerinj
2020-04-13 15:01 ` [dpdk-dev] [PATCH v5 25/33] eal/trace: add trace bufsize " jerinj
2020-04-13 15:01 ` [dpdk-dev] [PATCH v5 26/33] eal/trace: add trace mode " jerinj
2020-04-13 15:01 ` [dpdk-dev] [PATCH v5 27/33] eal/trace: add unit test cases jerinj
2020-04-13 15:01 ` [dpdk-dev] [PATCH v5 28/33] eal/trace: add trace performance " jerinj
2020-04-13 15:01 ` [dpdk-dev] [PATCH v5 29/33] ethdev: add tracepoints jerinj
2020-04-13 15:01 ` [dpdk-dev] [PATCH v5 30/33] eventdev: " jerinj
2020-04-13 15:01 ` [dpdk-dev] [PATCH v5 31/33] cryptodev: " jerinj
2020-04-13 15:01 ` [dpdk-dev] [PATCH v5 32/33] mempool: " jerinj
2020-04-13 15:01 ` [dpdk-dev] [PATCH v5 33/33] doc: add trace library guide jerinj
2020-04-17 8:36 ` David Marchand
2020-04-15 13:26 ` [dpdk-dev] [PATCH v5 00/33] DPDK Trace support David Marchand
2020-04-15 13:43 ` Thomas Monjalon
2020-04-15 14:39 ` Jerin Jacob
2020-04-16 13:39 ` David Marchand
2020-04-16 16:08 ` Jerin Jacob
2020-04-16 16:23 ` Thomas Monjalon
2020-04-16 16:26 ` Jerin Jacob
2020-04-17 8:27 ` David Marchand
2020-04-17 8:57 ` Jerin Jacob
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 " jerinj
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 01/33] meson: add libatomic as a global dependency for i686 clang jerinj
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 02/33] eal: introduce API for getting thread name jerinj
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 03/33] eal/trace: define the public API for trace support jerinj
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 04/33] eal/trace: implement trace register API jerinj
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 05/33] eal/trace: implement trace operation APIs jerinj
2020-04-21 12:49 ` David Marchand
2020-04-21 13:40 ` Jerin Jacob
2020-04-21 14:09 ` David Marchand
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 06/33] eal/trace: add internal trace init and fini interface jerinj
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 07/33] eal/trace: get bootup timestamp for trace jerinj
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 08/33] eal/trace: create CTF TDSL metadata in memory jerinj
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 09/33] eal/trace: handle CTF keyword collision jerinj
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 10/33] eal/trace: implement trace memory allocation jerinj
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 11/33] eal/trace: implement debug dump function jerinj
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 12/33] eal/trace: implement trace save jerinj
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 13/33] eal/trace: implement registration payload jerinj
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 14/33] eal/trace: implement provider payload jerinj
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 15/33] eal/trace: hook internal trace APIs to Linux jerinj
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 16/33] eal/trace: hook internal trace APIs to FreeBSD jerinj
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 17/33] eal/trace: add generic tracepoints jerinj
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 18/33] eal/trace: add alarm tracepoints jerinj
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 19/33] eal/trace: add memory tracepoints jerinj
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 20/33] eal/trace: add memzone tracepoints jerinj
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 21/33] eal/trace: add thread tracepoints jerinj
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 22/33] eal/trace: add interrupt tracepoints jerinj
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 23/33] eal/trace: add trace configuration parameter jerinj
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 24/33] eal/trace: add trace dir " jerinj
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 25/33] eal/trace: add trace bufsize " jerinj
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 26/33] eal/trace: add trace mode " jerinj
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 27/33] eal/trace: add unit test cases jerinj
2020-04-21 12:52 ` David Marchand
2020-04-21 13:54 ` Jerin Jacob
2020-04-21 14:24 ` David Marchand
2020-04-21 14:58 ` Jerin Jacob
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 28/33] eal/trace: add trace performance " jerinj
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 29/33] ethdev: add tracepoints jerinj
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 30/33] eventdev: " jerinj
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 31/33] cryptodev: " jerinj
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 32/33] mempool: " jerinj
2020-04-19 10:01 ` [dpdk-dev] [PATCH v6 33/33] doc: add trace library guide jerinj
2020-04-21 0:19 ` Thomas Monjalon
2020-04-21 5:47 ` Jerin Jacob
2020-04-21 9:11 ` Thomas Monjalon
2020-04-21 9:17 ` Jerin Jacob
2020-04-22 19:03 ` [dpdk-dev] [PATCH v7 00/32] DPDK Trace support jerinj
2020-04-22 19:03 ` [dpdk-dev] [PATCH v7 01/32] eal: introduce API for getting thread name jerinj
2020-04-22 19:03 ` [dpdk-dev] [PATCH v7 02/32] eal/trace: define the public API for trace support jerinj
2020-04-22 19:03 ` [dpdk-dev] [PATCH v7 03/32] eal/trace: implement trace register API jerinj
2020-04-22 19:03 ` [dpdk-dev] [PATCH v7 04/32] eal/trace: implement trace operation APIs jerinj
2020-04-22 19:03 ` [dpdk-dev] [PATCH v7 05/32] eal/trace: add internal trace init and fini interface jerinj
2020-04-22 19:03 ` [dpdk-dev] [PATCH v7 06/32] eal/trace: get bootup timestamp for trace jerinj
2020-04-22 19:03 ` [dpdk-dev] [PATCH v7 07/32] eal/trace: create CTF TDSL metadata in memory jerinj
2020-04-22 19:03 ` [dpdk-dev] [PATCH v7 08/32] eal/trace: handle CTF keyword collision jerinj
2020-04-22 19:03 ` [dpdk-dev] [PATCH v7 09/32] eal/trace: implement trace memory allocation jerinj
2020-04-22 19:03 ` [dpdk-dev] [PATCH v7 10/32] eal/trace: implement debug dump function jerinj
2020-04-22 19:03 ` [dpdk-dev] [PATCH v7 11/32] eal/trace: implement trace save jerinj
2020-04-22 19:03 ` [dpdk-dev] [PATCH v7 12/32] eal/trace: implement registration payload jerinj
2020-04-22 19:03 ` [dpdk-dev] [PATCH v7 13/32] eal/trace: implement provider payload jerinj
2020-04-22 19:03 ` [dpdk-dev] [PATCH v7 14/32] eal/trace: hook internal trace APIs to Linux jerinj
2020-04-22 19:03 ` [dpdk-dev] [PATCH v7 15/32] eal/trace: hook internal trace APIs to FreeBSD jerinj
2020-04-22 19:03 ` [dpdk-dev] [PATCH v7 16/32] eal/trace: add generic tracepoints jerinj
2020-04-22 19:03 ` [dpdk-dev] [PATCH v7 17/32] eal/trace: add alarm tracepoints jerinj
2020-04-22 19:03 ` [dpdk-dev] [PATCH v7 18/32] eal/trace: add memory tracepoints jerinj
2020-04-22 19:03 ` [dpdk-dev] [PATCH v7 19/32] eal/trace: add memzone tracepoints jerinj
2020-04-22 19:03 ` [dpdk-dev] [PATCH v7 20/32] eal/trace: add thread tracepoints jerinj
2020-04-22 19:03 ` [dpdk-dev] [PATCH v7 21/32] eal/trace: add interrupt tracepoints jerinj
2020-04-22 19:03 ` [dpdk-dev] [PATCH v7 22/32] eal/trace: add trace configuration parameter jerinj
2020-04-22 19:03 ` [dpdk-dev] [PATCH v7 23/32] eal/trace: add trace dir " jerinj
2020-04-22 19:03 ` [dpdk-dev] [PATCH v7 24/32] eal/trace: add trace bufsize " jerinj
2020-04-22 19:03 ` [dpdk-dev] [PATCH v7 25/32] eal/trace: add trace mode " jerinj
2020-04-22 19:03 ` [dpdk-dev] [PATCH v7 26/32] eal/trace: add unit test cases jerinj
2020-04-22 19:03 ` [dpdk-dev] [PATCH v7 27/32] eal/trace: add trace performance " jerinj
2020-04-22 19:03 ` [dpdk-dev] [PATCH v7 28/32] ethdev: add tracepoints jerinj
2020-04-22 19:37 ` Akhil Goyal
2020-04-22 19:43 ` Akhil Goyal
2020-04-22 19:03 ` [dpdk-dev] [PATCH v7 29/32] eventdev: " jerinj
2020-04-22 19:03 ` [dpdk-dev] [PATCH v7 30/32] cryptodev: " jerinj
2020-04-22 19:03 ` [dpdk-dev] [PATCH v7 31/32] mempool: " jerinj
2020-05-18 9:44 ` Fady Bader
2020-05-18 11:10 ` Jerin Jacob
2020-04-22 19:03 ` [dpdk-dev] [PATCH v7 32/32] doc: add trace library guide jerinj
2020-04-23 14:23 ` [dpdk-dev] [PATCH v7 00/32] DPDK Trace support David Marchand
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=20200329144342.1543749-33-jerinj@marvell.com \
--to=jerinj@marvell.com \
--cc=akhil.goyal@nxp.com \
--cc=anoobj@marvell.com \
--cc=arybchenko@solarflare.com \
--cc=bruce.richardson@intel.com \
--cc=cristian.dumitrescu@intel.com \
--cc=david.hunt@intel.com \
--cc=david.marchand@redhat.com \
--cc=declan.doherty@intel.com \
--cc=dev@dpdk.org \
--cc=hemant.agrawal@nxp.com \
--cc=jasvinder.singh@intel.com \
--cc=konstantin.ananyev@intel.com \
--cc=mattias.ronnblom@ericsson.com \
--cc=mchalla@marvell.com \
--cc=olivier.matz@6wind.com \
--cc=reshma.pattan@intel.com \
--cc=shreyansh.jain@nxp.com \
--cc=skori@marvell.com \
--cc=skoteshwar@marvell.com \
--cc=thomas@monjalon.net \
--cc=vattunuru@marvell.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).