Message ID | 20211214075606.979-1-gaoxiangliu0@163.com (mailing list archive) |
---|---|
State | Rejected, archived |
Delegated to: | Thomas Monjalon |
Headers | show |
Series | mbuf: delete dynamic fields copy in hdr copy | expand |
Context | Check | Description |
---|---|---|
ci/iol-aarch64-compile-testing | success | Testing PASS |
ci/iol-aarch64-unit-testing | success | Testing PASS |
ci/iol-x86_64-compile-testing | success | Testing PASS |
ci/iol-intel-Performance | success | Performance Testing PASS |
ci/iol-x86_64-unit-testing | success | Testing PASS |
ci/iol-broadcom-Functional | success | Functional Testing PASS |
ci/iol-intel-Functional | success | Functional Testing PASS |
ci/iol-mellanox-Performance | success | Performance Testing PASS |
ci/iol-broadcom-Performance | success | Performance Testing PASS |
ci/intel-Testing | success | Testing PASS |
ci/github-robot: build | success | github build: passed |
ci/Intel-compilation | success | Compilation OK |
ci/checkpatch | warning | coding style issues |
14/12/2021 08:56, Gaoxiang Liu: > Because dynamic fields are registered by the DPDK application, > so it is up to the application to decide whether to copy the value of > dynamic fields. > So delete dynamic fields copy in __rte_pktmbuf_copy_hdr. > It's more flexible for the DPDK application, > and is useful for improving performance. Yes, removing operations will improve the performance, but it looks wrong. This is copying all dynamic fields, not matter which one is registered. We cannot ask the application to manage dynamic fields copy, especially if the copy is done inside a library.
Hi, On Tue, Jan 11, 2022 at 05:45:49PM +0100, Thomas Monjalon wrote: > 14/12/2021 08:56, Gaoxiang Liu: > > Because dynamic fields are registered by the DPDK application, > > so it is up to the application to decide whether to copy the value of > > dynamic fields. > > So delete dynamic fields copy in __rte_pktmbuf_copy_hdr. > > It's more flexible for the DPDK application, > > and is useful for improving performance. > > Yes, removing operations will improve the performance, > but it looks wrong. > This is copying all dynamic fields, not matter which one is registered. > We cannot ask the application to manage dynamic fields copy, > especially if the copy is done inside a library. +1 Dynamic fields/flags can be registered by applications, libraries, drivers, ... There is no entity that is aware of which field/flag has to be copied, so the only possibility is to copy all of them.
diff --git a/lib/mbuf/rte_mbuf.h b/lib/mbuf/rte_mbuf.h index dedf83c38d..e2dfd47442 100644 --- a/lib/mbuf/rte_mbuf.h +++ b/lib/mbuf/rte_mbuf.h @@ -1101,7 +1101,6 @@ __rte_pktmbuf_copy_hdr(struct rte_mbuf *mdst, const struct rte_mbuf *msrc) mdst->tx_offload = msrc->tx_offload; mdst->hash = msrc->hash; mdst->packet_type = msrc->packet_type; - rte_mbuf_dynfield_copy(mdst, msrc); } /**
Because dynamic fields are registered by the DPDK application, so it is up to the application to decide whether to copy the value of dynamic fields. So delete dynamic fields copy in __rte_pktmbuf_copy_hdr. It's more flexible for the DPDK application, and is useful for improving performance. Fixes: 4958ca3a443a ("mbuf: support dynamic fields and flags") Signed-off-by: Gaoxiang Liu <liugaoxiang@huawei.com> --- lib/mbuf/rte_mbuf.h | 1 - 1 file changed, 1 deletion(-)