From: Thomas Monjalon <thomas@monjalon.net>
To: Santosh Shukla <santosh.shukla@caviumnetworks.com>
Cc: olivier.matz@6wind.com, sergio.gonzalez.monroy@intel.com,
anatoly.burakov@intel.com, dev@dpdk.org
Subject: [dpdk-dev] [PATCH v4 00/15] make DPDK IOVA aware
Date: Mon, 6 Nov 2017 02:41:26 +0100 [thread overview]
Message-ID: <20171106014141.13266-1-thomas@monjalon.net> (raw)
In-Reply-To: <20170814151537.29454-1-santosh.shukla@caviumnetworks.com>
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
next prev parent reply other threads:[~2017-11-06 1:42 UTC|newest]
Thread overview: 91+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-14 15:15 [dpdk-dev] [PATCH v1 0/4] make dpdk iova aware Santosh Shukla
2017-08-14 15:15 ` [dpdk-dev] [PATCH v1 1/4] eal: rename phys_addr_t to iova_addr_t Santosh Shukla
2017-09-18 14:06 ` Burakov, Anatoly
2017-09-18 14:31 ` santosh
2017-09-18 14:32 ` Burakov, Anatoly
2017-08-14 15:15 ` [dpdk-dev] [PATCH v1 2/4] eal/memory: rename buf_physaddr to buf_iovaaddr Santosh Shukla
2017-08-14 15:15 ` [dpdk-dev] [PATCH v1 3/4] eal/memory: rename memory translational api to _iova types Santosh Shukla
2017-08-14 15:15 ` [dpdk-dev] [PATCH v1 4/4] doc: remove dpdk iova aware notice Santosh Shukla
2017-09-18 18:44 ` Mcnamara, John
2017-09-05 10:31 ` [dpdk-dev] [PATCH v2 0/5] make dpdk iova aware Santosh Shukla
2017-09-05 10:31 ` [dpdk-dev] [PATCH v2 1/5] eal: rename phys_addr_t to iova_addr_t Santosh Shukla
2017-09-18 15:19 ` Burakov, Anatoly
2017-09-05 10:31 ` [dpdk-dev] [PATCH v2 2/5] eal/memory: rename buf_physaddr to buf_iovaaddr Santosh Shukla
2017-09-18 15:20 ` Burakov, Anatoly
2017-09-05 10:31 ` [dpdk-dev] [PATCH v2 3/5] eal/memory: rename memseg member phys to iova addr Santosh Shukla
2017-09-18 15:04 ` Burakov, Anatoly
2017-09-18 15:08 ` santosh
2017-09-18 15:11 ` Burakov, Anatoly
2017-09-18 15:21 ` Burakov, Anatoly
2017-09-05 10:31 ` [dpdk-dev] [PATCH v2 4/5] eal/memory: rename memory api to iova types Santosh Shukla
2017-09-05 10:31 ` [dpdk-dev] [PATCH v2 5/5] doc: remove dpdk iova aware notice Santosh Shukla
2017-09-19 13:38 ` Mcnamara, John
2017-10-17 13:31 ` [dpdk-dev] [PATCH v2 0/5] make dpdk iova aware Thomas Monjalon
2017-10-17 14:12 ` santosh
2017-10-20 12:31 ` [dpdk-dev] [PATCH v3 0/6] " Santosh Shukla
2017-10-20 12:31 ` [dpdk-dev] [PATCH v3 1/6] eal: rename phys addr to iova addr Santosh Shukla
2017-10-23 20:32 ` Thomas Monjalon
2017-10-24 5:16 ` santosh
2017-10-20 12:31 ` [dpdk-dev] [PATCH v3 2/6] eal/memory: rename buf physaddr to buf iovaaddr Santosh Shukla
2017-10-23 20:15 ` Thomas Monjalon
2017-10-25 9:55 ` Olivier MATZ
2017-10-23 20:34 ` Thomas Monjalon
2017-10-24 5:17 ` santosh
2017-10-25 9:44 ` Olivier MATZ
2017-10-20 12:31 ` [dpdk-dev] [PATCH v3 3/6] eal/memory: rename memseg member phys to iova addr Santosh Shukla
2017-10-20 12:31 ` [dpdk-dev] [PATCH v3 4/6] eal/memory: rename memory API to iova types Santosh Shukla
2017-11-03 11:11 ` Thomas Monjalon
2017-11-03 11:35 ` santosh
2017-11-03 13:58 ` Thomas Monjalon
2017-11-03 15:22 ` [dpdk-dev] [PATCH v3 4/6] eal/memory: rename memory API to iovatypes Jonas Pfefferle1
2017-10-20 12:31 ` [dpdk-dev] [PATCH v3 5/6] doc: remove dpdk iova aware notice Santosh Shukla
2017-10-23 20:29 ` Thomas Monjalon
2017-10-24 5:06 ` santosh
2017-10-25 9:45 ` Thomas Monjalon
2017-10-25 9:50 ` Richardson, Bruce
2017-10-25 10:01 ` Thomas Monjalon
2017-10-25 10:05 ` Bruce Richardson
2017-10-25 10:12 ` Thomas Monjalon
2017-10-25 10:32 ` Bruce Richardson
2017-10-20 12:31 ` [dpdk-dev] [PATCH v3 6/6] eal/common/rte_malloc: use pointer diff in virt2iova Santosh Shukla
2017-10-23 14:58 ` [dpdk-dev] [PATCH v3 0/6] make dpdk iova aware Thomas Monjalon
2017-10-24 5:12 ` santosh
2017-10-24 7:38 ` Thomas Monjalon
2017-11-06 1:41 ` Thomas Monjalon [this message]
2017-11-06 1:41 ` [dpdk-dev] [PATCH v4 01/15] mem: hide physical address error in VA mode Thomas Monjalon
2017-11-06 5:39 ` santosh
2017-11-06 1:41 ` [dpdk-dev] [PATCH v4 02/15] mem: introduce IOVA type Thomas Monjalon
2017-11-06 5:38 ` santosh
2017-11-06 8:37 ` Thomas Monjalon
2017-11-06 8:51 ` santosh
2017-11-06 9:08 ` Thomas Monjalon
2017-11-06 1:41 ` [dpdk-dev] [PATCH v4 03/15] mem: rename segment address from physical to IOVA Thomas Monjalon
2017-11-06 1:41 ` [dpdk-dev] [PATCH v4 04/15] mem: rename address mapping function " Thomas Monjalon
2017-11-06 5:41 ` santosh
2017-11-06 1:41 ` [dpdk-dev] [PATCH v4 05/15] malloc: " Thomas Monjalon
2017-11-06 5:47 ` santosh
2017-11-06 1:41 ` [dpdk-dev] [PATCH v4 06/15] malloc: use pointer diff macro in IOVA mapping Thomas Monjalon
2017-11-06 1:41 ` [dpdk-dev] [PATCH v4 07/15] memzone: rename address from physical to IOVA Thomas Monjalon
2017-11-06 5:50 ` santosh
2017-11-06 1:41 ` [dpdk-dev] [PATCH v4 08/15] mempool: rename addresses " Thomas Monjalon
2017-11-06 5:52 ` santosh
2017-11-06 15:44 ` Olivier MATZ
2017-11-06 1:41 ` [dpdk-dev] [PATCH v4 09/15] mempool: rename address mapping function " Thomas Monjalon
2017-11-06 5:54 ` santosh
2017-11-06 15:44 ` Olivier MATZ
2017-11-06 1:41 ` [dpdk-dev] [PATCH v4 10/15] mempool: rename populate functions " Thomas Monjalon
2017-11-06 15:49 ` Olivier MATZ
2017-11-06 15:58 ` Thomas Monjalon
2017-11-06 16:39 ` Olivier MATZ
2017-11-06 1:41 ` [dpdk-dev] [PATCH v4 11/15] mbuf: rename physical address " Thomas Monjalon
2017-11-06 15:52 ` Olivier MATZ
2017-11-06 16:00 ` Thomas Monjalon
2017-11-06 1:41 ` [dpdk-dev] [PATCH v4 12/15] mbuf: rename data address helpers " Thomas Monjalon
2017-11-06 15:56 ` Olivier MATZ
2017-11-06 16:03 ` Thomas Monjalon
2017-11-06 1:41 ` [dpdk-dev] [PATCH v4 13/15] cryptodev: rename physical address type " Thomas Monjalon
2017-11-06 1:41 ` [dpdk-dev] [PATCH v4 14/15] drivers/net: " Thomas Monjalon
2017-11-06 1:41 ` [dpdk-dev] [PATCH v4 15/15] doc: add IOVA aware API changes in release notes Thomas Monjalon
2017-11-06 5:56 ` santosh
2017-11-06 8:50 ` Mcnamara, John
2017-11-06 22:48 ` [dpdk-dev] [PATCH v4 00/15] make DPDK IOVA aware Thomas Monjalon
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=20171106014141.13266-1-thomas@monjalon.net \
--to=thomas@monjalon.net \
--cc=anatoly.burakov@intel.com \
--cc=dev@dpdk.org \
--cc=olivier.matz@6wind.com \
--cc=santosh.shukla@caviumnetworks.com \
--cc=sergio.gonzalez.monroy@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).