This is a continuation of the discussions[1] to add mbuf physical address field 
to dynamic field.
Previous version was to add PA field to dynamic field area based on the EAL 
IOVA mode option. It was
deemed unsafe as some components could still use the PA field without checking 
IOVA mode and there
are drivers which need PA to work. One suggestion was to make the IOVA mode 
check at compile time so
that drivers which need PA can be disabled during build. This series adds this 
new meson build
options. Second patch adds mbuf PA field to dynamic field on such builds. Last 
two patches enable
Marvell cnxk PMDs and software PMDs in IOVA as VA build as they work without PA 
field.

1. 
https://inbox.dpdk.org/dev/57d2ab7fff672716d37ba4078e2e3bb2db126607.1656605763.git.sthot...@marvell.com/.

v3:
 * Cleared use of buf_iova from cnxk PMD.

v2:
 * Used RTE_IOVA_AS_VA instread of rte_is_iova_as_va_build().
 * Moved mbuf next pointer to first cacheline if RTE_IOVA_AS_VA = 1.

Shijith Thotton (5):
  build: add meson option to configure IOVA mode as VA
  mbuf: add second dynamic field member for VA only build
  lib: move mbuf next pointer to first cache line
  drivers: mark Marvell cnxk PMDs work with IOVA as VA
  drivers: mark software PMDs work with IOVA as VA

 app/test-bbdev/test_bbdev_perf.c         |  2 +-
 app/test-crypto-perf/cperf_test_common.c |  5 +--
 app/test/test_bpf.c                      |  2 +-
 app/test/test_dmadev.c                   | 33 ++++++--------
 app/test/test_mbuf.c                     | 12 +++---
 app/test/test_pcapng.c                   |  2 +-
 config/arm/meson.build                   |  8 +++-
 config/meson.build                       |  1 +
 drivers/common/cnxk/meson.build          |  1 +
 drivers/crypto/armv8/meson.build         |  1 +
 drivers/crypto/cnxk/cn10k_ipsec_la_ops.h |  4 +-
 drivers/crypto/cnxk/cn9k_ipsec_la_ops.h  |  2 +-
 drivers/crypto/cnxk/meson.build          |  2 +
 drivers/crypto/ipsec_mb/meson.build      |  1 +
 drivers/crypto/null/meson.build          |  1 +
 drivers/crypto/openssl/meson.build       |  1 +
 drivers/dma/cnxk/meson.build             |  1 +
 drivers/dma/skeleton/meson.build         |  1 +
 drivers/event/cnxk/meson.build           |  1 +
 drivers/event/dsw/meson.build            |  1 +
 drivers/event/opdl/meson.build           |  1 +
 drivers/event/skeleton/meson.build       |  1 +
 drivers/event/sw/meson.build             |  1 +
 drivers/mempool/bucket/meson.build       |  1 +
 drivers/mempool/cnxk/meson.build         |  1 +
 drivers/mempool/ring/meson.build         |  1 +
 drivers/mempool/stack/meson.build        |  1 +
 drivers/meson.build                      |  6 +++
 drivers/net/af_packet/meson.build        |  1 +
 drivers/net/af_xdp/meson.build           |  2 +
 drivers/net/bonding/meson.build          |  1 +
 drivers/net/cnxk/cn10k_tx.h              | 55 +++++++-----------------
 drivers/net/cnxk/cn9k_tx.h               | 55 +++++++-----------------
 drivers/net/cnxk/cnxk_ethdev.h           |  1 -
 drivers/net/cnxk/meson.build             |  1 +
 drivers/net/failsafe/meson.build         |  1 +
 drivers/net/memif/meson.build            |  1 +
 drivers/net/null/meson.build             |  1 +
 drivers/net/pcap/meson.build             |  1 +
 drivers/net/ring/meson.build             |  1 +
 drivers/net/tap/meson.build              |  1 +
 drivers/raw/cnxk_bphy/meson.build        |  1 +
 drivers/raw/cnxk_gpio/meson.build        |  1 +
 drivers/raw/skeleton/meson.build         |  1 +
 lib/eal/linux/eal.c                      |  7 +++
 lib/mbuf/rte_mbuf.c                      |  8 ++--
 lib/mbuf/rte_mbuf.h                      | 17 +++++---
 lib/mbuf/rte_mbuf_core.h                 | 55 ++++++++++++++++++------
 lib/mbuf/rte_mbuf_dyn.c                  |  2 +
 lib/meson.build                          |  3 ++
 lib/vhost/vhost.h                        |  2 +-
 lib/vhost/vhost_crypto.c                 | 54 +++++++++++++++++------
 meson_options.txt                        |  2 +
 53 files changed, 220 insertions(+), 150 deletions(-)

-- 
2.25.1

Reply via email to