[v2,0/5] mbuf dynamic field expansion
Message ID | 20220907134340.3629224-1-sthotton@marvell.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2EDF1A054F; Wed, 7 Sep 2022 15:44:15 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D50D040143; Wed, 7 Sep 2022 15:44:14 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 0BED7400D6 for <dev@dpdk.org>; Wed, 7 Sep 2022 15:44:12 +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 2875Zx5p029977; Wed, 7 Sep 2022 06:44:07 -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=XrgQNX2ASUGYwO2qK2Amuam4i/Zy4f/DQp+11C3W3GE=; b=fLNpidMbn7BlKS+kbqVthtr7u1QERTkZ9VDE27R3i8VdCcZNwROdCt+amDcP4EhKgjck 0PmHsZnnlFULt1tuO9/n8nvAg3775POyaKbtLyof+Tc0WL9ODDpWaun51auydU0BcoY3 SBzlG0jaUhYsvb8/JtP46BEcPzRiA85Z7AUG0oI9WC+cSnB1jcTCBYETge2TdV1Bo4oP tev/h6FLq8y0O509fUqCGkL1isa4XjOFRkzKrEt97VjtRbVNuO7JErLMtRGk4ZOcRkI3 Df31QBudl6Hjn4ZWivbp4HmNl4rs3Ohb4nKEoKOj/L0nRx2+QSn5IoYCcCWDLct8yMaf VQ== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3jen9wsnke-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Wed, 07 Sep 2022 06:44:07 -0700 Received: from DC5-EXCH01.marvell.com (10.69.176.38) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 7 Sep 2022 06:44:06 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Wed, 7 Sep 2022 06:44:06 -0700 Received: from localhost.localdomain (unknown [10.28.34.29]) by maili.marvell.com (Postfix) with ESMTP id 273543F708A; Wed, 7 Sep 2022 06:44:02 -0700 (PDT) From: Shijith Thotton <sthotton@marvell.com> To: <dev@dpdk.org> CC: <pbhagavatula@marvell.com>, Shijith Thotton <sthotton@marvell.com>, <Honnappa.Nagarahalli@arm.com>, <bruce.richardson@intel.com>, <jerinj@marvell.com>, <mb@smartsharesystems.com>, <olivier.matz@6wind.com>, <stephen@networkplumber.org>, <thomas@monjalon.net> Subject: [PATCH v2 0/5] mbuf dynamic field expansion Date: Wed, 7 Sep 2022 19:13:35 +0530 Message-ID: <20220907134340.3629224-1-sthotton@marvell.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220829151626.2101336-1-sthotton@marvell.com> References: <20220829151626.2101336-1-sthotton@marvell.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Proofpoint-ORIG-GUID: 56xueYE8v8TiOt6dI-JWwyRrFQUUU6lx X-Proofpoint-GUID: 56xueYE8v8TiOt6dI-JWwyRrFQUUU6lx 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-09-07_08,2022-09-07_02,2022-06-22_01 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org |
Message
Shijith Thotton
Sept. 7, 2022, 1:43 p.m. UTC
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.sthotton@marvell.com/. 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/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 + 51 files changed, 188 insertions(+), 72 deletions(-)