From: David Marchand <david.marchand@redhat.com>
To: dev@dpdk.org
Cc: Chengwen Feng <fengchengwen@huawei.com>,
Kevin Laatz <kevin.laatz@intel.com>,
Bruce Richardson <bruce.richardson@intel.com>
Subject: [PATCH 2/2] dmadev: avoid copies in tracepoints
Date: Fri, 24 Jan 2025 17:14:08 +0100 [thread overview]
Message-ID: <20250124161408.310581-2-david.marchand@redhat.com> (raw)
In-Reply-To: <20250124161408.310581-1-david.marchand@redhat.com>
No need to copy values in intermediate variables.
Just use the right trace point emitters.
Signed-off-by: David Marchand <david.marchand@redhat.com>
---
lib/dmadev/rte_dmadev_trace.h | 20 ++++++--------------
lib/dmadev/rte_dmadev_trace_fp.h | 12 ++++--------
2 files changed, 10 insertions(+), 22 deletions(-)
diff --git a/lib/dmadev/rte_dmadev_trace.h b/lib/dmadev/rte_dmadev_trace.h
index be089c065c..ddf60b9649 100644
--- a/lib/dmadev/rte_dmadev_trace.h
+++ b/lib/dmadev/rte_dmadev_trace.h
@@ -46,11 +46,10 @@ RTE_TRACE_POINT(
const struct rte_dma_conf __dev_conf = {0};
dev_conf = &__dev_conf;
#endif /* _RTE_TRACE_POINT_REGISTER_H_ */
- int enable_silent = (int)dev_conf->enable_silent;
rte_trace_point_emit_i16(dev_id);
rte_trace_point_emit_u16(dev_conf->nb_vchans);
rte_trace_point_emit_u16(dev_conf->priority);
- rte_trace_point_emit_int(enable_silent);
+ rte_trace_point_emit_u8(dev_conf->enable_silent);
rte_trace_point_emit_int(ret);
)
@@ -83,21 +82,14 @@ RTE_TRACE_POINT(
const struct rte_dma_vchan_conf __conf = {0};
conf = &__conf;
#endif /* _RTE_TRACE_POINT_REGISTER_H_ */
- int src_port_type = conf->src_port.port_type;
- int dst_port_type = conf->dst_port.port_type;
- int direction = conf->direction;
- uint64_t src_pcie_cfg;
- uint64_t dst_pcie_cfg;
rte_trace_point_emit_i16(dev_id);
rte_trace_point_emit_u16(vchan);
- rte_trace_point_emit_int(direction);
+ rte_trace_point_emit_int(conf->direction);
rte_trace_point_emit_u16(conf->nb_desc);
- rte_trace_point_emit_int(src_port_type);
- memcpy(&src_pcie_cfg, &conf->src_port.pcie, sizeof(uint64_t));
- rte_trace_point_emit_u64(src_pcie_cfg);
- memcpy(&dst_pcie_cfg, &conf->dst_port.pcie, sizeof(uint64_t));
- rte_trace_point_emit_int(dst_port_type);
- rte_trace_point_emit_u64(dst_pcie_cfg);
+ rte_trace_point_emit_int(conf->src_port.port_type);
+ rte_trace_point_emit_blob(&conf->src_port.pcie, sizeof(uint64_t));
+ rte_trace_point_emit_int(conf->dst_port.port_type);
+ rte_trace_point_emit_blob(&conf->dst_port.pcie, sizeof(uint64_t));
rte_trace_point_emit_ptr(conf->auto_free.m2d.pool);
rte_trace_point_emit_int(ret);
)
diff --git a/lib/dmadev/rte_dmadev_trace_fp.h b/lib/dmadev/rte_dmadev_trace_fp.h
index f5b96838bc..4950f58cd2 100644
--- a/lib/dmadev/rte_dmadev_trace_fp.h
+++ b/lib/dmadev/rte_dmadev_trace_fp.h
@@ -37,10 +37,9 @@ RTE_TRACE_POINT_FP(
enum rte_dma_vchan_status __status = 0;
status = &__status;
#endif /* _RTE_TRACE_POINT_REGISTER_H_ */
- int vchan_status = *status;
rte_trace_point_emit_i16(dev_id);
rte_trace_point_emit_u16(vchan);
- rte_trace_point_emit_int(vchan_status);
+ rte_trace_point_emit_int(*status);
rte_trace_point_emit_int(ret);
)
@@ -107,13 +106,11 @@ RTE_TRACE_POINT_FP(
last_idx = &__last_idx;
has_error = &__has_error;
#endif /* _RTE_TRACE_POINT_REGISTER_H_ */
- int has_error_val = *has_error;
- int last_idx_val = *last_idx;
rte_trace_point_emit_i16(dev_id);
rte_trace_point_emit_u16(vchan);
rte_trace_point_emit_u16(nb_cpls);
- rte_trace_point_emit_int(last_idx_val);
- rte_trace_point_emit_int(has_error_val);
+ rte_trace_point_emit_u16(*last_idx);
+ rte_trace_point_emit_u8(*has_error);
rte_trace_point_emit_u16(ret);
)
@@ -126,11 +123,10 @@ RTE_TRACE_POINT_FP(
uint16_t __last_idx = 0;
last_idx = &__last_idx;
#endif /* _RTE_TRACE_POINT_REGISTER_H_ */
- int last_idx_val = *last_idx;
rte_trace_point_emit_i16(dev_id);
rte_trace_point_emit_u16(vchan);
rte_trace_point_emit_u16(nb_cpls);
- rte_trace_point_emit_int(last_idx_val);
+ rte_trace_point_emit_u16(*last_idx);
rte_trace_point_emit_ptr(status);
rte_trace_point_emit_u16(ret);
)
--
2.47.1
prev parent reply other threads:[~2025-01-24 16:28 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-24 16:14 [PATCH 1/2] trace: support expression for blob length David Marchand
2025-01-24 16:14 ` David Marchand [this message]
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=20250124161408.310581-2-david.marchand@redhat.com \
--to=david.marchand@redhat.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=fengchengwen@huawei.com \
--cc=kevin.laatz@intel.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).