From patchwork Mon Mar 11 15:44:02 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeremy Spewock X-Patchwork-Id: 138162 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: 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 3461543C89; Mon, 11 Mar 2024 16:45:20 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A0E2D40E40; Mon, 11 Mar 2024 16:45:00 +0100 (CET) Received: from mail-il1-f225.google.com (mail-il1-f225.google.com [209.85.166.225]) by mails.dpdk.org (Postfix) with ESMTP id E471640DDA for ; Mon, 11 Mar 2024 16:44:57 +0100 (CET) Received: by mail-il1-f225.google.com with SMTP id e9e14a558f8ab-3665a067d5eso3850715ab.1 for ; Mon, 11 Mar 2024 08:44:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iol.unh.edu; s=unh-iol; t=1710171897; x=1710776697; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=EK+fLSZ7+PZ2TL6EKNJX9oEiRnCVvRn1M80svle2Ces=; b=T36NX2+7n3BVX+r4jcE6D/MGvnf5tcfIt97FYf/SWMb2HAgkyQnr0lj5atZQ9khF+0 q8tINH3oqpHmTXsy8LfLbad7oAm1inrFo7mKOJ+u9FHrcRWrvqgdMJJPgpoI0lSWdCYR pZMpXEX3Db+RRkqhx0UL1mqRL+bx1YRlXFfh4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710171897; x=1710776697; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=EK+fLSZ7+PZ2TL6EKNJX9oEiRnCVvRn1M80svle2Ces=; b=TRCGNCBM4j2G0r1R14PrLanpOzE77w33xf7WlK8Wz+rU5itq2D9gTI+uGh3KikA4uU JdBTqauIEYDhNKG7TvRgWD3X6LkudZUka+PsDS7oLlcqqpCeb8EAYx3KAzxa6hXFp8SY 5DZGlG7kmJmwoCsG3GmeUz+Ey+BYkn1wqx0MTULz09jheD9ZyQYerOJe6d6EwRmsRe1Q PNOEq8ubq2qXbDh6cQ412XzYV3zN29R7eTuW2f6hMp9uHO72i1FGv3jMR5tMt91RSuFF 1JUY6vM8eSnD2AdzL+y6nHiYBiEua3x0NQJ5vhx2c0H/M7hnx15PqqgDFoXzK/ATUpqk ATSA== X-Gm-Message-State: AOJu0YyPf0pyfoRnfywO3oC9cFt2J/vJeG2f1yb0/NR93skVFs+7ypwp tnLx9p1Wf+36XQqvqpLTFkGpugvGjwPOj0ODLt1P8AmLGwanAwFpwgo/a2oj5F9IWH1zIbULQhh lFCy5PFPJT6EXgWjD1Jl1i+qus9Z7WYntcR0E1sGf5j1uKNgW X-Google-Smtp-Source: AGHT+IHVrZYWIJiG/EoNVPRfTxRYOq+TQk/Aw7tYZVCYC8/Kn5kksFjKw35KZafX3HU34ExhjRikd9CZa4YT X-Received: by 2002:a05:6e02:1a4d:b0:365:1459:e1ed with SMTP id u13-20020a056e021a4d00b003651459e1edmr8234240ilv.4.1710171897320; Mon, 11 Mar 2024 08:44:57 -0700 (PDT) Received: from postal.iol.unh.edu (postal.iol.unh.edu. [2606:4100:3880:1234::84]) by smtp-relay.gmail.com with ESMTPS id el19-20020a0566384d9300b00476cea22e85sm142448jab.6.2024.03.11.08.44.57 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 11 Mar 2024 08:44:57 -0700 (PDT) X-Relaying-Domain: iol.unh.edu Received: from iol.unh.edu (unknown [IPv6:2606:4100:3880:1271:90f9:1b64:f6e6:867f]) by postal.iol.unh.edu (Postfix) with ESMTP id AB2846052471; Mon, 11 Mar 2024 11:44:56 -0400 (EDT) From: jspewock@iol.unh.edu To: Honnappa.Nagarahalli@arm.com, juraj.linkes@pantheon.tech, thomas@monjalon.net, wathsala.vithanage@arm.com, probb@iol.unh.edu, paul.szczepanek@arm.com, yoan.picchi@foss.arm.com, ferruh.yigit@amd.com, andrew.rybchenko@oktetlabs.ru Cc: dev@dpdk.org, Jeremy Spewock Subject: [PATCH v9 4/7] dts: add pci addresses to EAL parameters Date: Mon, 11 Mar 2024 11:44:02 -0400 Message-ID: <20240311154405.13269-5-jspewock@iol.unh.edu> X-Mailer: git-send-email 2.43.2 In-Reply-To: <20240311154405.13269-1-jspewock@iol.unh.edu> References: <20240110144249.20719-1-jspewock@iol.unh.edu> <20240311154405.13269-1-jspewock@iol.unh.edu> MIME-Version: 1.0 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 From: Jeremy Spewock Added allow list to the EAL parameters created in DTS to ensure that only the relevant PCI devices are considered when launching DPDK applications. Signed-off-by: Jeremy Spewock --- dts/framework/testbed_model/sut_node.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/dts/framework/testbed_model/sut_node.py b/dts/framework/testbed_model/sut_node.py index 909394e756..97aa26d419 100644 --- a/dts/framework/testbed_model/sut_node.py +++ b/dts/framework/testbed_model/sut_node.py @@ -30,6 +30,7 @@ from .cpu import LogicalCoreCount, LogicalCoreList from .node import Node from .os_session import InteractiveShellType, OSSession +from .port import Port from .virtual_device import VirtualDevice @@ -46,6 +47,7 @@ def __init__( prefix: str, no_pci: bool, vdevs: list[VirtualDevice], + ports: list[Port], other_eal_param: str, ): """Initialize the parameters according to inputs. @@ -63,6 +65,7 @@ def __init__( VirtualDevice('net_ring0'), VirtualDevice('net_ring1') ] + ports: The list of ports to allow. other_eal_param: user defined DPDK EAL parameters, e.g.: ``other_eal_param='--single-file-segments'`` """ @@ -73,6 +76,7 @@ def __init__( self._prefix = f"--file-prefix={prefix}" self._no_pci = "--no-pci" if no_pci else "" self._vdevs = " ".join(f"--vdev {vdev}" for vdev in vdevs) + self._ports = " ".join(f"-a {port.pci}" for port in ports) self._other_eal_param = other_eal_param def __str__(self) -> str: @@ -83,6 +87,7 @@ def __str__(self) -> str: f"{self._prefix} " f"{self._no_pci} " f"{self._vdevs} " + f"{self._ports} " f"{self._other_eal_param}" ) @@ -347,6 +352,7 @@ def create_eal_parameters( append_prefix_timestamp: bool = True, no_pci: bool = False, vdevs: list[VirtualDevice] | None = None, + ports: list[Port] | None = None, other_eal_param: str = "", ) -> "EalParameters": """Compose the EAL parameters. @@ -370,6 +376,8 @@ def create_eal_parameters( VirtualDevice('net_ring0'), VirtualDevice('net_ring1') ] + ports: The list of ports to allow. If :data:`None`, all ports listed in `self.ports` + will be allowed. other_eal_param: user defined DPDK EAL parameters, e.g.: ``other_eal_param='--single-file-segments'``. @@ -388,12 +396,16 @@ def create_eal_parameters( if vdevs is None: vdevs = [] + if ports is None: + ports = self.ports + return EalParameters( lcore_list=lcore_list, memory_channels=self.config.memory_channels, prefix=prefix, no_pci=no_pci, vdevs=vdevs, + ports=ports, other_eal_param=other_eal_param, )