[dpdk-dev] [PATCH v4 00/15] make DPDK IOVA aware
Thomas Monjalon
thomas at monjalon.net
Mon Nov 6 02:41:26 CET 2017
This v4 is a big rework to complete the patches sent by Santosh.
The core components for memory handling (memseg, malloc, memzone,
mempool, mbuf) are almost fully updated for IOVA awareness.
It will ease maintenance and upcoming reworks; that's why we should push
it in 17.11 LTS.
The most important changes in this revision v4 are:
- No API break: everything is aliased to keep old names during next
releases. It will ease apps migration, waiting for major ABI break.
- Rename type from iova_addr_t to rte_iova_t.
- Convert memzone field.
- Convert mempool fields.
- Convert mbuf address helpers.
- Reword doxygen comments and variable names in functions.
In PMDs, only the address type is renamed.
All PMDs will require some attention to transition to IOVA scheme.
KNI and NXP bus drivers are not reworded.
Santosh Shukla (5):
mem: rename segment address from physical to IOVA
malloc: use pointer diff macro in IOVA mapping
mbuf: rename physical address to IOVA
cryptodev: rename physical address type to IOVA
drivers/net: rename physical address type to IOVA
Thomas Monjalon (10):
mem: hide physical address error in VA mode
mem: introduce IOVA type
mem: rename address mapping function to IOVA
malloc: rename address mapping function to IOVA
memzone: rename address from physical to IOVA
mempool: rename addresses from physical to IOVA
mempool: rename address mapping function to IOVA
mempool: rename populate functions to IOVA
mbuf: rename data address helpers to IOVA
doc: add IOVA aware API changes in release notes
app/test-crypto-perf/cperf_ops.c | 6 +-
app/test-crypto-perf/cperf_test_common.c | 6 +-
app/test-crypto-perf/cperf_test_vector_parsing.c | 4 +-
app/test-crypto-perf/cperf_test_vectors.c | 6 +-
app/test-crypto-perf/cperf_test_vectors.h | 4 +-
doc/guides/prog_guide/cryptodev_lib.rst | 6 +-
doc/guides/prog_guide/img/mbuf1.svg | 2 +-
doc/guides/rel_notes/deprecation.rst | 7 --
doc/guides/rel_notes/release_17_11.rst | 17 ++++
drivers/bus/dpaa/base/qbman/qman.c | 2 +-
drivers/bus/dpaa/base/qbman/qman.h | 2 +-
drivers/bus/fslmc/portal/dpaa2_hw_pvt.h | 2 +-
drivers/crypto/dpaa_sec/dpaa_sec.c | 28 +++---
drivers/crypto/mrvl/rte_mrvl_pmd.c | 4 +-
drivers/crypto/qat/qat_adf/qat_algs.h | 6 +-
drivers/crypto/qat/qat_crypto.c | 22 ++---
drivers/crypto/qat/qat_crypto.h | 2 +-
drivers/crypto/qat/qat_qp.c | 8 +-
drivers/mempool/dpaa/dpaa_mempool.c | 4 +-
drivers/mempool/dpaa2/dpaa2_hw_mempool.c | 4 +-
drivers/mempool/dpaa2/dpaa2_hw_mempool.h | 2 +-
drivers/mempool/octeontx/octeontx_fpavf.c | 4 +-
drivers/mempool/octeontx/rte_mempool_octeontx.c | 2 +-
drivers/net/ark/ark_ddm.c | 2 +-
drivers/net/ark/ark_ddm.h | 4 +-
drivers/net/ark/ark_ethdev_rx.c | 24 ++---
drivers/net/ark/ark_ethdev_tx.c | 8 +-
drivers/net/ark/ark_mpu.c | 2 +-
drivers/net/ark/ark_mpu.h | 4 +-
drivers/net/ark/ark_udm.c | 2 +-
drivers/net/ark/ark_udm.h | 4 +-
drivers/net/avp/avp_ethdev.c | 2 +-
drivers/net/avp/rte_avp_common.h | 20 ++--
drivers/net/bnx2x/bnx2x.c | 44 ++++-----
drivers/net/bnx2x/bnx2x.h | 22 ++---
drivers/net/bnx2x/bnx2x_rxtx.c | 14 +--
drivers/net/bnx2x/bnx2x_stats.c | 2 +-
drivers/net/bnx2x/bnx2x_vfpf.c | 2 +-
drivers/net/bnx2x/ecore_sp.h | 2 +-
drivers/net/bnxt/bnxt.h | 10 +-
drivers/net/bnxt/bnxt_cpr.h | 4 +-
drivers/net/bnxt/bnxt_ethdev.c | 14 +--
drivers/net/bnxt/bnxt_hwrm.c | 26 +++---
drivers/net/bnxt/bnxt_ring.c | 10 +-
drivers/net/bnxt/bnxt_ring.h | 4 +-
drivers/net/bnxt/bnxt_rxr.h | 4 +-
drivers/net/bnxt/bnxt_txr.h | 2 +-
drivers/net/bnxt/bnxt_vnic.c | 8 +-
drivers/net/bnxt/bnxt_vnic.h | 6 +-
drivers/net/cxgbe/sge.c | 6 +-
drivers/net/dpaa/dpaa_rxtx.c | 6 +-
drivers/net/e1000/em_rxtx.c | 12 +--
drivers/net/e1000/igb_rxtx.c | 12 +--
drivers/net/ena/base/ena_plat_dpdk.h | 4 +-
drivers/net/ena/ena_ethdev.c | 6 +-
drivers/net/enic/enic_main.c | 8 +-
drivers/net/enic/enic_rxtx.c | 6 +-
drivers/net/fm10k/fm10k.h | 4 +-
drivers/net/fm10k/fm10k_ethdev.c | 4 +-
drivers/net/fm10k/fm10k_rxtx_vec.c | 4 +-
drivers/net/i40e/i40e_ethdev.c | 2 +-
drivers/net/i40e/i40e_fdir.c | 2 +-
drivers/net/i40e/i40e_rxtx.c | 22 ++---
drivers/net/i40e/i40e_rxtx_vec_altivec.c | 4 +-
drivers/net/i40e/i40e_rxtx_vec_neon.c | 6 +-
drivers/net/i40e/i40e_rxtx_vec_sse.c | 6 +-
drivers/net/ixgbe/ixgbe_rxtx.c | 18 ++--
drivers/net/ixgbe/ixgbe_rxtx_vec_neon.c | 6 +-
drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c | 6 +-
drivers/net/liquidio/lio_rxtx.c | 20 ++--
drivers/net/liquidio/lio_rxtx.h | 6 +-
drivers/net/mrvl/mrvl_ethdev.c | 8 +-
drivers/net/nfp/nfp_net.c | 8 +-
drivers/net/octeontx/base/octeontx_pkovf.c | 4 +-
drivers/net/octeontx/octeontx_rxtx.c | 2 +-
drivers/net/qede/base/bcm_osal.c | 10 +-
drivers/net/qede/base/bcm_osal.h | 2 +-
drivers/net/qede/qede_fdir.c | 2 +-
drivers/net/qede/qede_rxtx.c | 16 ++--
drivers/net/sfc/efsys.h | 2 +-
drivers/net/sfc/sfc.c | 4 +-
drivers/net/sfc/sfc_ef10_rx.c | 4 +-
drivers/net/sfc/sfc_ef10_tx.c | 6 +-
drivers/net/sfc/sfc_rx.c | 2 +-
drivers/net/sfc/sfc_tso.c | 4 +-
drivers/net/sfc/sfc_tx.c | 2 +-
drivers/net/thunderx/base/nicvf_hw.c | 2 +-
drivers/net/thunderx/base/nicvf_hw.h | 2 +-
drivers/net/thunderx/base/nicvf_hw_defs.h | 6 +-
drivers/net/thunderx/nicvf_ethdev.c | 10 +-
drivers/net/thunderx/nicvf_ethdev.h | 6 +-
drivers/net/thunderx/nicvf_rxtx.h | 4 +-
drivers/net/thunderx/nicvf_struct.h | 6 +-
drivers/net/virtio/virtio_ethdev.c | 10 +-
drivers/net/virtio/virtio_rxtx.h | 4 +-
drivers/net/virtio/virtqueue.h | 6 +-
drivers/net/vmxnet3/vmxnet3_ethdev.c | 10 +-
drivers/net/vmxnet3/vmxnet3_rxtx.c | 8 +-
examples/ipsec-secgw/esp.c | 12 +--
examples/l2fwd-crypto/main.c | 8 +-
lib/librte_cryptodev/rte_crypto.h | 2 +-
lib/librte_cryptodev/rte_crypto_sym.h | 6 +-
lib/librte_cryptodev/rte_cryptodev.c | 2 +-
lib/librte_cryptodev/rte_cryptodev.h | 2 +-
lib/librte_eal/bsdapp/eal/eal_memory.c | 15 ++-
lib/librte_eal/common/eal_common_memory.c | 4 +-
lib/librte_eal/common/eal_common_memzone.c | 6 +-
lib/librte_eal/common/include/rte_malloc.h | 17 +++-
lib/librte_eal/common/include/rte_memory.h | 28 +++++-
lib/librte_eal/common/include/rte_memzone.h | 6 +-
lib/librte_eal/common/rte_malloc.c | 22 ++---
lib/librte_eal/linuxapp/eal/eal_memory.c | 40 ++++----
lib/librte_eal/linuxapp/eal/eal_vfio.c | 6 +-
lib/librte_eal/rte_eal_version.map | 3 +-
lib/librte_kni/rte_kni.c | 2 +-
lib/librte_mbuf/rte_mbuf.c | 6 +-
lib/librte_mbuf/rte_mbuf.h | 53 ++++++++---
lib/librte_mempool/rte_mempool.c | 111 +++++++++++++----------
lib/librte_mempool/rte_mempool.h | 86 +++++++++++-------
lib/librte_mempool/rte_mempool_ops.c | 4 +-
lib/librte_mempool/rte_mempool_version.map | 2 +
lib/librte_vhost/vhost.h | 2 +-
lib/librte_vhost/vhost_user.c | 4 +-
lib/librte_vhost/virtio_net.c | 2 +-
test/test/test_cryptodev.c | 42 ++++-----
test/test/test_cryptodev.h | 4 +-
test/test/test_mbuf.c | 2 +-
test/test/test_mempool.c | 4 +-
test/test/test_memzone.c | 80 ++++++++--------
129 files changed, 708 insertions(+), 591 deletions(-)
--
2.14.2
More information about the dev
mailing list