From patchwork Sun Mar 29 14:43:40 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob Kollanukkaran X-Patchwork-Id: 67349 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 105D1A0562; Sun, 29 Mar 2020 16:50:55 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 56AD71C1F6; Sun, 29 Mar 2020 16:46:00 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by dpdk.org (Postfix) with ESMTP id 6E55B2C15 for ; Sun, 29 Mar 2020 16:45:54 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 02TEivO9015443; Sun, 29 Mar 2020 07:45:52 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=pfpt0818; bh=otf0VzRO9YuhTPDQ/0/KanZJz3cwHexjCFLXrGRL6og=; b=BTemLcEVvauun2xEDfbA8jMYQeSOcKtfaCBaJYRL9ZWjDLUolHXAENh3BS+1PIaHcVGO sKScXPTgIfDYmagXuenOjLKRM2GJmKAno1Sd9oD8f5PLlEH7018E91j0M6a9JsTDC97V +OzxP262daEoKWBON+GJ5Xv/Cltkf/xfGJk9/d3CUsWQjW7e4rVKMWngi0N5oE6S8XxM qGWchqVNz1Iw1BEwfP4ijRrHZdrxUy1LFBosDgCITB7MIPcZiacFNT5JjIy/hs4456fM 28SXj70McdAG4M+XlK3uRMWJv0OZjPuqF5tYsljvMPll7553FOIvCExoChDF/rm4b5Bv ow== Received: from sc-exch04.marvell.com ([199.233.58.184]) by mx0a-0016f401.pphosted.com with ESMTP id 3023xnujjt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Sun, 29 Mar 2020 07:45:52 -0700 Received: from SC-EXCH03.marvell.com (10.93.176.83) by SC-EXCH04.marvell.com (10.93.176.84) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sun, 29 Mar 2020 07:45:50 -0700 Received: from maili.marvell.com (10.93.176.43) by SC-EXCH03.marvell.com (10.93.176.83) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Sun, 29 Mar 2020 07:45:50 -0700 Received: from jerin-lab.marvell.com (jerin-lab.marvell.com [10.28.34.14]) by maili.marvell.com (Postfix) with ESMTP id 8B7753F703F; Sun, 29 Mar 2020 07:45:46 -0700 (PDT) From: To: Thomas Monjalon , Ravi Kumar , Tomasz Duszynski , Michael Shamis , Liron Himi , Declan Doherty , Fan Zhang , Jay Zhou , Jerin Jacob , Sunil Kumar Kori CC: , , , Date: Sun, 29 Mar 2020 20:13:40 +0530 Message-ID: <20200329144342.1543749-32-jerinj@marvell.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200329144342.1543749-1-jerinj@marvell.com> References: <20200325211603.240288-1-jerinj@marvell.com> <20200329144342.1543749-1-jerinj@marvell.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.138, 18.0.645 definitions=2020-03-29_05:2020-03-27, 2020-03-29 signatures=0 Subject: [dpdk-dev] [PATCH v3 31/33] cryptodev: add tracepoints 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" From: Sunil Kumar Kori Add tracepoints at important and mandatory APIs for tracing support. Signed-off-by: Sunil Kumar Kori --- MAINTAINERS | 2 + drivers/crypto/ccp/Makefile | 1 + drivers/crypto/ccp/meson.build | 2 + drivers/crypto/mvsam/Makefile | 1 + drivers/crypto/mvsam/meson.build | 1 + drivers/crypto/null/Makefile | 1 + drivers/crypto/null/meson.build | 1 + drivers/crypto/scheduler/Makefile | 1 + drivers/crypto/scheduler/meson.build | 1 + drivers/crypto/virtio/Makefile | 1 + drivers/crypto/virtio/meson.build | 1 + lib/librte_cryptodev/Makefile | 4 +- lib/librte_cryptodev/cryptodev_trace_points.c | 70 +++++++++ lib/librte_cryptodev/meson.build | 7 +- lib/librte_cryptodev/rte_cryptodev.c | 18 +++ lib/librte_cryptodev/rte_cryptodev.h | 6 + .../rte_cryptodev_version.map | 18 +++ lib/librte_cryptodev/rte_trace_cryptodev.h | 133 ++++++++++++++++++ lib/librte_cryptodev/rte_trace_cryptodev_fp.h | 34 +++++ 19 files changed, 300 insertions(+), 3 deletions(-) create mode 100644 lib/librte_cryptodev/cryptodev_trace_points.c create mode 100644 lib/librte_cryptodev/rte_trace_cryptodev.h create mode 100644 lib/librte_cryptodev/rte_trace_cryptodev_fp.h diff --git a/MAINTAINERS b/MAINTAINERS index d113bc62b..65acfc814 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -206,6 +206,8 @@ F: lib/librte_ethdev/ethdev_trace_points.c F: lib/librte_ethdev/rte_trace_ethdev*.h 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 Memory Allocation M: Anatoly Burakov diff --git a/drivers/crypto/ccp/Makefile b/drivers/crypto/ccp/Makefile index 3f5da2adf..df064fbdc 100644 --- a/drivers/crypto/ccp/Makefile +++ b/drivers/crypto/ccp/Makefile @@ -10,6 +10,7 @@ LIB = librte_pmd_ccp.a CFLAGS += -O3 CFLAGS += -I$(SRCDIR) CFLAGS += $(WERROR_FLAGS) +CFLAGS += -DALLOW_EXPERIMENTAL_API # external library include paths LDLIBS += -lcrypto diff --git a/drivers/crypto/ccp/meson.build b/drivers/crypto/ccp/meson.build index 6f7217adb..996ede283 100644 --- a/drivers/crypto/ccp/meson.build +++ b/drivers/crypto/ccp/meson.build @@ -5,6 +5,8 @@ if not is_linux build = false reason = 'only supported on linux' endif + +allow_experimental_apis = true dep = dependency('libcrypto', required: false) if not dep.found() build = false diff --git a/drivers/crypto/mvsam/Makefile b/drivers/crypto/mvsam/Makefile index f0641ae7d..0cd2029ba 100644 --- a/drivers/crypto/mvsam/Makefile +++ b/drivers/crypto/mvsam/Makefile @@ -22,6 +22,7 @@ CFLAGS += $(WERROR_FLAGS) CFLAGS += -I$(RTE_SDK)/drivers/common/mvep CFLAGS += -I$(LIBMUSDK_PATH)/include CFLAGS += -DMVCONF_TYPES_PUBLIC +CFLAGS += -DALLOW_EXPERIMENTAL_API CFLAGS += -DMVCONF_DMA_PHYS_ADDR_T_PUBLIC # versioning export map diff --git a/drivers/crypto/mvsam/meson.build b/drivers/crypto/mvsam/meson.build index 6d97dc8a2..28f1f27b0 100644 --- a/drivers/crypto/mvsam/meson.build +++ b/drivers/crypto/mvsam/meson.build @@ -17,6 +17,7 @@ else cflags += ['-DMVCONF_TYPES_PUBLIC', '-DMVCONF_DMA_PHYS_ADDR_T_PUBLIC'] endif +allow_experimental_apis = true sources = files('rte_mrvl_pmd.c', 'rte_mrvl_pmd_ops.c') deps += ['bus_vdev', 'common_mvep'] diff --git a/drivers/crypto/null/Makefile b/drivers/crypto/null/Makefile index 4595055f0..c5eb34aed 100644 --- a/drivers/crypto/null/Makefile +++ b/drivers/crypto/null/Makefile @@ -10,6 +10,7 @@ LIB = librte_pmd_null_crypto.a # build flags CFLAGS += -O3 CFLAGS += $(WERROR_FLAGS) +CFLAGS += -DALLOW_EXPERIMENTAL_API LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring LDLIBS += -lrte_cryptodev LDLIBS += -lrte_bus_vdev diff --git a/drivers/crypto/null/meson.build b/drivers/crypto/null/meson.build index 502336da2..429000fd7 100644 --- a/drivers/crypto/null/meson.build +++ b/drivers/crypto/null/meson.build @@ -3,4 +3,5 @@ deps += 'bus_vdev' name = 'null_crypto' +allow_experimental_apis = true sources = files('null_crypto_pmd.c', 'null_crypto_pmd_ops.c') diff --git a/drivers/crypto/scheduler/Makefile b/drivers/crypto/scheduler/Makefile index 67aac024c..53eeccdea 100644 --- a/drivers/crypto/scheduler/Makefile +++ b/drivers/crypto/scheduler/Makefile @@ -9,6 +9,7 @@ LIB = librte_pmd_crypto_scheduler.a # build flags CFLAGS += -O3 CFLAGS += $(WERROR_FLAGS) +CFLAGS += -DALLOW_EXPERIMENTAL_API LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring LDLIBS += -lrte_cryptodev -lrte_kvargs -lrte_reorder LDLIBS += -lrte_bus_vdev diff --git a/drivers/crypto/scheduler/meson.build b/drivers/crypto/scheduler/meson.build index c5ba2d680..49c9e63d7 100644 --- a/drivers/crypto/scheduler/meson.build +++ b/drivers/crypto/scheduler/meson.build @@ -3,6 +3,7 @@ deps += ['bus_vdev', 'reorder'] name = 'crypto_scheduler' +allow_experimental_apis = true sources = files( 'rte_cryptodev_scheduler.c', 'scheduler_failover.c', diff --git a/drivers/crypto/virtio/Makefile b/drivers/crypto/virtio/Makefile index 32e2e4d5e..841131ceb 100644 --- a/drivers/crypto/virtio/Makefile +++ b/drivers/crypto/virtio/Makefile @@ -14,6 +14,7 @@ LIB = librte_pmd_virtio_crypto.a CFLAGS += -I$(RTE_SDK)/lib/librte_vhost CFLAGS += -O3 CFLAGS += $(WERROR_FLAGS) +CFLAGS += -DALLOW_EXPERIMENTAL_API EXPORT_MAP := rte_pmd_virtio_crypto_version.map diff --git a/drivers/crypto/virtio/meson.build b/drivers/crypto/virtio/meson.build index b15b3f9fa..7e408676d 100644 --- a/drivers/crypto/virtio/meson.build +++ b/drivers/crypto/virtio/meson.build @@ -4,5 +4,6 @@ includes += include_directories('../../../lib/librte_vhost') deps += 'bus_pci' name = 'virtio_crypto' +allow_experimental_apis = true sources = files('virtio_cryptodev.c', 'virtio_pci.c', 'virtio_rxtx.c', 'virtqueue.c') diff --git a/lib/librte_cryptodev/Makefile b/lib/librte_cryptodev/Makefile index 7fac49afa..da096603c 100644 --- a/lib/librte_cryptodev/Makefile +++ b/lib/librte_cryptodev/Makefile @@ -14,7 +14,7 @@ LDLIBS += -lrte_eal -lrte_mempool -lrte_ring -lrte_mbuf LDLIBS += -lrte_kvargs # library source files -SRCS-y += rte_cryptodev.c rte_cryptodev_pmd.c +SRCS-y += rte_cryptodev.c rte_cryptodev_pmd.c cryptodev_trace_points.c # export include files SYMLINK-y-include += rte_crypto.h @@ -22,6 +22,8 @@ SYMLINK-y-include += rte_crypto_sym.h SYMLINK-y-include += rte_cryptodev.h SYMLINK-y-include += rte_cryptodev_pmd.h SYMLINK-y-include += rte_crypto_asym.h +SYMLINK-y-include += rte_trace_cryptodev.h +SYMLINK-y-include += rte_trace_cryptodev_fp.h # versioning export map EXPORT_MAP := rte_cryptodev_version.map diff --git a/lib/librte_cryptodev/cryptodev_trace_points.c b/lib/librte_cryptodev/cryptodev_trace_points.c new file mode 100644 index 000000000..712080666 --- /dev/null +++ b/lib/librte_cryptodev/cryptodev_trace_points.c @@ -0,0 +1,70 @@ +/* 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_cryptodev.h" + +RTE_TRACE_POINT_DEFINE(rte_trace_lib_cryptodev_configure); +RTE_TRACE_POINT_DEFINE(rte_trace_lib_cryptodev_start); +RTE_TRACE_POINT_DEFINE(rte_trace_lib_cryptodev_stop); +RTE_TRACE_POINT_DEFINE(rte_trace_lib_cryptodev_close); +RTE_TRACE_POINT_DEFINE(rte_trace_lib_cryptodev_queue_pair_setup); +RTE_TRACE_POINT_DEFINE(rte_trace_lib_cryptodev_sym_session_pool_create); +RTE_TRACE_POINT_DEFINE(rte_trace_lib_cryptodev_sym_session_create); +RTE_TRACE_POINT_DEFINE(rte_trace_lib_cryptodev_asym_session_create); +RTE_TRACE_POINT_DEFINE(rte_trace_lib_cryptodev_sym_session_free); +RTE_TRACE_POINT_DEFINE(rte_trace_lib_cryptodev_asym_session_free); +RTE_TRACE_POINT_DEFINE(rte_trace_lib_cryptodev_sym_session_init); +RTE_TRACE_POINT_DEFINE(rte_trace_lib_cryptodev_asym_session_init); +RTE_TRACE_POINT_DEFINE(rte_trace_lib_cryptodev_sym_session_clear); +RTE_TRACE_POINT_DEFINE(rte_trace_lib_cryptodev_asym_session_clear); +RTE_TRACE_POINT_DEFINE(rte_trace_lib_cryptodev_enqueue_burst); +RTE_TRACE_POINT_DEFINE(rte_trace_lib_cryptodev_dequeue_burst); + +RTE_INIT(cryptodev_trace_init) +{ + RTE_TRACE_POINT_REGISTER(rte_trace_lib_cryptodev_configure, + lib.cryptodev.configure, INFO); + + RTE_TRACE_POINT_REGISTER(rte_trace_lib_cryptodev_start, + lib.cryptodev.start, INFO); + + RTE_TRACE_POINT_REGISTER(rte_trace_lib_cryptodev_stop, + lib.cryptodev.stop, INFO); + + RTE_TRACE_POINT_REGISTER(rte_trace_lib_cryptodev_close, + lib.cryptodev.close, INFO); + + RTE_TRACE_POINT_REGISTER(rte_trace_lib_cryptodev_queue_pair_setup, + lib.cryptodev.queue.pair.setup, INFO); + + RTE_TRACE_POINT_REGISTER( + rte_trace_lib_cryptodev_sym_session_pool_create, + lib.cryptodev.sym.pool.create, INFO); + + RTE_TRACE_POINT_REGISTER(rte_trace_lib_cryptodev_sym_session_create, + lib.cryptodev.sym.create, INFO); + + RTE_TRACE_POINT_REGISTER(rte_trace_lib_cryptodev_asym_session_create, + lib.cryptodev.asym.create, INFO); + + RTE_TRACE_POINT_REGISTER(rte_trace_lib_cryptodev_sym_session_free, + lib.cryptodev.sym.free, INFO); + + RTE_TRACE_POINT_REGISTER(rte_trace_lib_cryptodev_asym_session_free, + lib.cryptodev.asym.free, INFO); + + RTE_TRACE_POINT_REGISTER(rte_trace_lib_cryptodev_sym_session_init, + lib.cryptodev.sym.init, INFO); + + RTE_TRACE_POINT_REGISTER(rte_trace_lib_cryptodev_asym_session_init, + lib.cryptodev.asym.init, INFO); + + RTE_TRACE_POINT_REGISTER(rte_trace_lib_cryptodev_enqueue_burst, + lib.cryptodev.enq.burst, INFO); + + RTE_TRACE_POINT_REGISTER(rte_trace_lib_cryptodev_dequeue_burst, + lib.cryptodev.deq.burst, INFO); +} diff --git a/lib/librte_cryptodev/meson.build b/lib/librte_cryptodev/meson.build index 49bae03a8..5c405cdfb 100644 --- a/lib/librte_cryptodev/meson.build +++ b/lib/librte_cryptodev/meson.build @@ -2,10 +2,13 @@ # Copyright(c) 2017-2019 Intel Corporation allow_experimental_apis = true -sources = files('rte_cryptodev.c', 'rte_cryptodev_pmd.c') +sources = files('rte_cryptodev.c', 'rte_cryptodev_pmd.c', + 'cryptodev_trace_points.c') headers = files('rte_cryptodev.h', 'rte_cryptodev_pmd.h', 'rte_crypto.h', 'rte_crypto_sym.h', - 'rte_crypto_asym.h') + 'rte_crypto_asym.h', + 'rte_trace_cryptodev.h', + 'rte_trace_cryptodev_fp.h') deps += ['kvargs', 'mbuf'] diff --git a/lib/librte_cryptodev/rte_cryptodev.c b/lib/librte_cryptodev/rte_cryptodev.c index 6d1d0e9d3..66ab7a694 100644 --- a/lib/librte_cryptodev/rte_cryptodev.c +++ b/lib/librte_cryptodev/rte_cryptodev.c @@ -40,6 +40,7 @@ #include "rte_crypto.h" #include "rte_cryptodev.h" #include "rte_cryptodev_pmd.h" +#include "rte_trace_cryptodev.h" static uint8_t nb_drivers; @@ -905,6 +906,7 @@ rte_cryptodev_configure(uint8_t dev_id, struct rte_cryptodev_config *config) return diag; } + rte_trace_lib_cryptodev_configure(dev_id, config); return (*dev->dev_ops->dev_configure)(dev, config); } @@ -933,6 +935,7 @@ rte_cryptodev_start(uint8_t dev_id) } diag = (*dev->dev_ops->dev_start)(dev); + rte_trace_lib_cryptodev_start(dev_id, diag); if (diag == 0) dev->data->dev_started = 1; else @@ -962,6 +965,7 @@ rte_cryptodev_stop(uint8_t dev_id) } (*dev->dev_ops->dev_stop)(dev); + rte_trace_lib_cryptodev_stop(dev_id); dev->data->dev_started = 0; } @@ -998,6 +1002,7 @@ rte_cryptodev_close(uint8_t dev_id) RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->dev_close, -ENOTSUP); retval = (*dev->dev_ops->dev_close)(dev); + rte_trace_lib_cryptodev_close(dev_id, retval); if (retval < 0) return retval; @@ -1067,6 +1072,8 @@ rte_cryptodev_queue_pair_setup(uint8_t dev_id, uint16_t queue_pair_id, RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->queue_pair_setup, -ENOTSUP); + rte_trace_lib_cryptodev_queue_pair_setup(dev_id, queue_pair_id, + qp_conf); return (*dev->dev_ops->queue_pair_setup)(dev, queue_pair_id, qp_conf, socket_id); } @@ -1283,6 +1290,7 @@ rte_cryptodev_sym_session_init(uint8_t dev_id, } } + rte_trace_lib_cryptodev_sym_session_init(dev_id, sess, xforms, mp); sess->sess_data[index].refcnt++; return 0; } @@ -1319,6 +1327,7 @@ rte_cryptodev_asym_session_init(uint8_t dev_id, } } + rte_trace_lib_cryptodev_asym_session_init(dev_id, sess, xforms, mp); return 0; } @@ -1359,6 +1368,9 @@ rte_cryptodev_sym_session_pool_create(const char *name, uint32_t nb_elts, pool_priv->nb_drivers = nb_drivers; pool_priv->user_data_sz = user_data_size; + rte_trace_lib_cryptodev_sym_session_pool_create(name, nb_elts, + elt_size, cache_size, + user_data_size, mp); return mp; } @@ -1403,6 +1415,7 @@ rte_cryptodev_sym_session_create(struct rte_mempool *mp) memset(sess->sess_data, 0, rte_cryptodev_sym_session_data_size(sess)); + rte_trace_lib_cryptodev_sym_session_create(mp, sess); return sess; } @@ -1422,6 +1435,7 @@ rte_cryptodev_asym_session_create(struct rte_mempool *mp) */ memset(sess, 0, (sizeof(void *) * nb_drivers) + sizeof(uint8_t)); + rte_trace_lib_cryptodev_asym_session_create(mp, sess); return sess; } @@ -1447,6 +1461,7 @@ rte_cryptodev_sym_session_clear(uint8_t dev_id, dev->dev_ops->sym_session_clear(dev, sess); + rte_trace_lib_cryptodev_sym_session_clear(dev_id, sess); return 0; } @@ -1465,6 +1480,7 @@ rte_cryptodev_asym_session_clear(uint8_t dev_id, dev->dev_ops->asym_session_clear(dev, sess); + rte_trace_lib_cryptodev_sym_session_clear(dev_id, sess); return 0; } @@ -1487,6 +1503,7 @@ rte_cryptodev_sym_session_free(struct rte_cryptodev_sym_session *sess) sess_mp = rte_mempool_from_obj(sess); rte_mempool_put(sess_mp, sess); + rte_trace_lib_cryptodev_sym_session_free(sess); return 0; } @@ -1511,6 +1528,7 @@ rte_cryptodev_asym_session_free(struct rte_cryptodev_asym_session *sess) sess_mp = rte_mempool_from_obj(sess); rte_mempool_put(sess_mp, sess); + rte_trace_lib_cryptodev_asym_session_free(sess); return 0; } diff --git a/lib/librte_cryptodev/rte_cryptodev.h b/lib/librte_cryptodev/rte_cryptodev.h index 437b8a9b3..9008b70b6 100644 --- a/lib/librte_cryptodev/rte_cryptodev.h +++ b/lib/librte_cryptodev/rte_cryptodev.h @@ -24,6 +24,8 @@ extern "C" { #include #include +#include "rte_trace_cryptodev_fp.h" + extern const char **rte_cyptodev_names; /* Logging Macros */ @@ -924,6 +926,8 @@ rte_cryptodev_dequeue_burst(uint8_t dev_id, uint16_t qp_id, nb_ops = (*dev->dequeue_burst) (dev->data->queue_pairs[qp_id], ops, nb_ops); + rte_trace_lib_cryptodev_dequeue_burst(dev_id, qp_id, (void **)ops, + nb_ops); return nb_ops; } @@ -964,6 +968,8 @@ rte_cryptodev_enqueue_burst(uint8_t dev_id, uint16_t qp_id, { struct rte_cryptodev *dev = &rte_cryptodevs[dev_id]; + rte_trace_lib_cryptodev_enqueue_burst(dev_id, qp_id, (void **)ops, + nb_ops); return (*dev->enqueue_burst)( dev->data->queue_pairs[qp_id], ops, nb_ops); } diff --git a/lib/librte_cryptodev/rte_cryptodev_version.map b/lib/librte_cryptodev/rte_cryptodev_version.map index 6e41b4be5..d023de7aa 100644 --- a/lib/librte_cryptodev/rte_cryptodev_version.map +++ b/lib/librte_cryptodev/rte_cryptodev_version.map @@ -78,4 +78,22 @@ EXPERIMENTAL { rte_cryptodev_sym_session_set_user_data; rte_crypto_asym_op_strings; rte_crypto_asym_xform_strings; + + # added in 20.05 + __rte_trace_lib_cryptodev_configure; + __rte_trace_lib_cryptodev_start; + __rte_trace_lib_cryptodev_stop; + __rte_trace_lib_cryptodev_close; + __rte_trace_lib_cryptodev_queue_pair_setup; + __rte_trace_lib_cryptodev_sym_session_pool_create; + __rte_trace_lib_cryptodev_sym_session_create; + __rte_trace_lib_cryptodev_asym_session_create; + __rte_trace_lib_cryptodev_sym_session_free; + __rte_trace_lib_cryptodev_asym_session_free; + __rte_trace_lib_cryptodev_sym_session_init; + __rte_trace_lib_cryptodev_asym_session_init; + __rte_trace_lib_cryptodev_sym_session_clear; + __rte_trace_lib_cryptodev_asym_session_clear; + __rte_trace_lib_cryptodev_dequeue_burst; + __rte_trace_lib_cryptodev_enqueue_burst; }; diff --git a/lib/librte_cryptodev/rte_trace_cryptodev.h b/lib/librte_cryptodev/rte_trace_cryptodev.h new file mode 100644 index 000000000..fd031b63f --- /dev/null +++ b/lib/librte_cryptodev/rte_trace_cryptodev.h @@ -0,0 +1,133 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright(C) 2020 Marvell International Ltd. + */ + +#ifndef _RTE_TRACE_CRYPTODEV_H_ +#define _RTE_TRACE_CRYPTODEV_H_ + +/** + * @file + * + * API for cryptodev trace support + */ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "rte_cryptodev.h" + +#include + +RTE_TRACE_POINT( + rte_trace_lib_cryptodev_configure, + RTE_TRACE_POINT_ARGS(uint8_t dev_id, struct rte_cryptodev_config *conf), + rte_trace_ctf_u8(dev_id); rte_trace_ctf_u16(conf->nb_queue_pairs); + rte_trace_ctf_i64(conf->ff_disable); +) + +RTE_TRACE_POINT( + rte_trace_lib_cryptodev_start, + RTE_TRACE_POINT_ARGS(uint8_t dev_id, int rc), + rte_trace_ctf_u8(dev_id); rte_trace_ctf_int(rc); +) + +RTE_TRACE_POINT( + rte_trace_lib_cryptodev_stop, + RTE_TRACE_POINT_ARGS(uint8_t dev_id), + rte_trace_ctf_u8(dev_id); +) + +RTE_TRACE_POINT( + rte_trace_lib_cryptodev_close, + RTE_TRACE_POINT_ARGS(uint8_t dev_id, int rc), + rte_trace_ctf_u8(dev_id); rte_trace_ctf_int(rc); +) + +RTE_TRACE_POINT( + rte_trace_lib_cryptodev_queue_pair_setup, + RTE_TRACE_POINT_ARGS(uint8_t dev_id, uint16_t queue_pair_id, + const struct rte_cryptodev_qp_conf *conf), + rte_trace_ctf_u8(dev_id); rte_trace_ctf_u16(queue_pair_id); + rte_trace_ctf_u32(conf->nb_descriptors); + rte_trace_ctf_ptr(conf->mp_session); + rte_trace_ctf_ptr(conf->mp_session_private); +) + +RTE_TRACE_POINT( + rte_trace_lib_cryptodev_sym_session_pool_create, + RTE_TRACE_POINT_ARGS(const char *name, uint32_t nb_elts, + uint32_t elt_size, uint32_t cache_size, + uint16_t user_data_size, void *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_u16(user_data_size); rte_trace_ctf_ptr(mempool); +) + +RTE_TRACE_POINT( + rte_trace_lib_cryptodev_sym_session_create, + RTE_TRACE_POINT_ARGS(void *mempool, + struct rte_cryptodev_sym_session *sess), + rte_trace_ctf_ptr(mempool); rte_trace_ctf_ptr(sess); + rte_trace_ctf_u64(sess->opaque_data); + rte_trace_ctf_u16(sess->nb_drivers); + rte_trace_ctf_u16(sess->user_data_sz); +) + +RTE_TRACE_POINT( + rte_trace_lib_cryptodev_asym_session_create, + RTE_TRACE_POINT_ARGS(void *mempool, + struct rte_cryptodev_asym_session *sess), + rte_trace_ctf_ptr(mempool); rte_trace_ctf_ptr(sess); +) + +RTE_TRACE_POINT( + rte_trace_lib_cryptodev_sym_session_free, + RTE_TRACE_POINT_ARGS(struct rte_cryptodev_sym_session *sess), + rte_trace_ctf_ptr(sess); +) + +RTE_TRACE_POINT( + rte_trace_lib_cryptodev_asym_session_free, + RTE_TRACE_POINT_ARGS(struct rte_cryptodev_asym_session *sess), + rte_trace_ctf_ptr(sess); +) + +RTE_TRACE_POINT( + rte_trace_lib_cryptodev_sym_session_init, + RTE_TRACE_POINT_ARGS(uint8_t dev_id, + struct rte_cryptodev_sym_session *sess, + void *xforms, void *mempool), + rte_trace_ctf_u8(dev_id); rte_trace_ctf_ptr(sess); + rte_trace_ctf_u64(sess->opaque_data); + rte_trace_ctf_u16(sess->nb_drivers); + rte_trace_ctf_u16(sess->user_data_sz); + rte_trace_ctf_ptr(xforms); rte_trace_ctf_ptr(mempool); +) + +RTE_TRACE_POINT( + rte_trace_lib_cryptodev_asym_session_init, + RTE_TRACE_POINT_ARGS(uint8_t dev_id, + struct rte_cryptodev_asym_session *sess, + void *xforms, void *mempool), + rte_trace_ctf_u8(dev_id); rte_trace_ctf_ptr(sess); + rte_trace_ctf_ptr(xforms); rte_trace_ctf_ptr(mempool); +) + +RTE_TRACE_POINT( + rte_trace_lib_cryptodev_sym_session_clear, + RTE_TRACE_POINT_ARGS(uint8_t dev_id, void *sess), + rte_trace_ctf_u8(dev_id); rte_trace_ctf_ptr(sess); +) + +RTE_TRACE_POINT( + rte_trace_lib_cryptodev_asym_session_clear, + RTE_TRACE_POINT_ARGS(uint8_t dev_id, void *sess), + rte_trace_ctf_u8(dev_id); rte_trace_ctf_ptr(sess); +) + +#ifdef __cplusplus +} +#endif + +#endif /* _RTE_TRACE_CRYPTODEV_H_ */ diff --git a/lib/librte_cryptodev/rte_trace_cryptodev_fp.h b/lib/librte_cryptodev/rte_trace_cryptodev_fp.h new file mode 100644 index 000000000..aea7fb352 --- /dev/null +++ b/lib/librte_cryptodev/rte_trace_cryptodev_fp.h @@ -0,0 +1,34 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright(C) 2020 Marvell International Ltd. + */ + +#ifndef _RTE_TRACE_CRYPTODEV_FP_H_ +#define _RTE_TRACE_CRYPTODEV_FP_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +RTE_TRACE_POINT_DP( + rte_trace_lib_cryptodev_enqueue_burst, + RTE_TRACE_POINT_ARGS(uint8_t dev_id, uint16_t qp_id, void **ops, + uint16_t nb_ops), + rte_trace_ctf_u8(dev_id); rte_trace_ctf_u16(qp_id); + rte_trace_ctf_ptr(ops); rte_trace_ctf_u16(nb_ops); +) + +RTE_TRACE_POINT_DP( + rte_trace_lib_cryptodev_dequeue_burst, + RTE_TRACE_POINT_ARGS(uint8_t dev_id, uint16_t qp_id, void **ops, + uint16_t nb_ops), + rte_trace_ctf_u8(dev_id); rte_trace_ctf_u16(qp_id); + rte_trace_ctf_ptr(ops); rte_trace_ctf_u16(nb_ops); +) + +#ifdef __cplusplus +} +#endif + +#endif /* _RTE_TRACE_CRYPTODEV_FP_H_ */