From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 03B22A0543; Fri, 7 Oct 2022 23:02:37 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9996F400D5; Fri, 7 Oct 2022 23:02:37 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id CFD3440042 for ; Fri, 7 Oct 2022 23:02:35 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 297FLZgj006980; Fri, 7 Oct 2022 14:02:29 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=pfpt0220; bh=mhZxHcwmVWha0egjScQRky614DAVxyh/pR+vXdEBFJY=; b=hHHWBP974dNkOUEukCDhfkqrmG+f68JYHvLOODlbykr62c6QSyHuYQoX5uEQe9eiWsvz 5wpk1vo8UjZz7VfeI5ArHToTAr/MHzmPfTSapuAnRqBYthX385a4ErMLOI8NFqb8QH+W o39e+ApRmmjs+6bbu12wppGSagLx5eGXzpQmRA+FaCiUW+kAMaVK7GpqVGfCYsiTbcQZ RH0uQ8C1aUs0KshHdo2qNgD7QfFdokNirqhqKHJHuUUWUX6wMDOO1VZmMSHoMAbujKMv XXnmTQjM1BRP2y1kuPNai3GxrA5xQbEdHWYKEpndpld1NeHWIVmSPdeD23iPNtKMUKwr aA== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3k2ppes8qc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Fri, 07 Oct 2022 14:02:28 -0700 Received: from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 7 Oct 2022 14:02:24 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server id 15.0.1497.18 via Frontend Transport; Fri, 7 Oct 2022 14:02:24 -0700 Received: from localhost.localdomain (unknown [10.28.34.29]) by maili.marvell.com (Postfix) with ESMTP id A5C2D3F70F8; Fri, 7 Oct 2022 14:02:14 -0700 (PDT) From: Shijith Thotton To: CC: Shijith Thotton , , , , , , , , , , Subject: [PATCH v5 0/7] mbuf dynamic field expansion Date: Sat, 8 Oct 2022 02:32:04 +0530 Message-ID: X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Proofpoint-GUID: NDlzo6sMgGJmXNX2yAK8cqFD3keNQv6T X-Proofpoint-ORIG-GUID: NDlzo6sMgGJmXNX2yAK8cqFD3keNQv6T X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.528,FMLib:17.11.122.1 definitions=2022-10-07_04,2022-10-07_01,2022-06-22_01 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org 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. Fourth patch adds mbuf PA field to dynamic field on such builds. Last two patches enable Marvell cnxk PMDs and software PMDs in IOVA as PA disabled build as they work without PA field. 1. https://inbox.dpdk.org/dev/57d2ab7fff672716d37ba4078e2e3bb2db126607.1656605763.git.sthotton@marvell.com/. v5: * Fixed setting mbuf in cnxk PMD. v4: * Restructured changes to multiple patches. * Moved to #if scheme instead of union. * Updated release notes. 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 (7): mbuf: add API to get and set mbuf physical address test/dma: use API to get mbuf data physical address build: add meson option to configure IOVA mode as PA mbuf: add second dynamic field member lib: move mbuf next pointer to first cache line drivers: mark cnxk PMDs work with IOVA as PA disabled drivers: mark software PMDs work with IOVA as PA disabled 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 + doc/guides/platform/cnxk.rst | 3 +- doc/guides/rel_notes/release_22_11.rst | 3 ++ 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_ethdev.c | 4 +- drivers/net/cnxk/cn10k_tx.h | 55 +++++++----------------- drivers/net/cnxk/cn9k_ethdev.c | 4 +- drivers/net/cnxk/cn9k_tx.h | 55 +++++++----------------- drivers/net/cnxk/cnxk_ethdev.h | 2 +- drivers/net/cnxk/meson.build | 1 + drivers/net/failsafe/meson.build | 1 + drivers/net/hns3/meson.build | 6 +++ 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 | 6 +++ lib/kni/rte_kni.c | 3 +- lib/mbuf/rte_mbuf.c | 12 +++--- lib/mbuf/rte_mbuf.h | 47 +++++++++++++++++--- lib/mbuf/rte_mbuf_core.h | 26 +++++++++-- lib/mbuf/rte_mbuf_dyn.c | 3 ++ lib/meson.build | 3 ++ lib/pipeline/rte_table_action.c | 2 +- lib/vhost/vhost.h | 2 +- lib/vhost/vhost_crypto.c | 25 ++++++----- meson_options.txt | 2 + 60 files changed, 221 insertions(+), 151 deletions(-) -- 2.25.1