From patchwork Mon Jan 20 10:12:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Roi Dayan X-Patchwork-Id: 2036624 X-Patchwork-Delegate: ktraynor@redhat.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256 header.s=selector2 header.b=uoUvMDGk; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=2605:bc80:3010::137; helo=smtp4.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=patchwork.ozlabs.org) Received: from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Yc5kM2KwHz1yPh for ; Mon, 20 Jan 2025 21:12:43 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id D506E408FC; Mon, 20 Jan 2025 10:12:42 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id p5BgNy6jdYVv; Mon, 20 Jan 2025 10:12:41 +0000 (UTC) X-Comment: SPF check N/A for local connections - client-ip=2605:bc80:3010:104::8cd3:938; helo=lists.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver= DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 8BDB2408CE Authentication-Results: smtp4.osuosl.org; dkim=fail reason="signature verification failed" (2048-bit key, unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256 header.s=selector2 header.b=uoUvMDGk Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [IPv6:2605:bc80:3010:104::8cd3:938]) by smtp4.osuosl.org (Postfix) with ESMTPS id 8BDB2408CE; Mon, 20 Jan 2025 10:12:41 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 699DDC087D; Mon, 20 Jan 2025 10:12:41 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by lists.linuxfoundation.org (Postfix) with ESMTP id 42ECDC0612 for ; Mon, 20 Jan 2025 10:12:39 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 0CDDB6070F for ; Mon, 20 Jan 2025 10:12:39 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id VTWrVm8GLIN4 for ; Mon, 20 Jan 2025 10:12:38 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2a01:111:f403:2413::60a; helo=nam10-dm6-obe.outbound.protection.outlook.com; envelope-from=roid@nvidia.com; receiver= DMARC-Filter: OpenDMARC Filter v1.4.2 smtp3.osuosl.org 30F7E607EB Authentication-Results: smtp3.osuosl.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 30F7E607EB Authentication-Results: smtp3.osuosl.org; dkim=pass (2048-bit key, unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256 header.s=selector2 header.b=uoUvMDGk Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2060a.outbound.protection.outlook.com [IPv6:2a01:111:f403:2413::60a]) by smtp3.osuosl.org (Postfix) with ESMTPS id 30F7E607EB for ; Mon, 20 Jan 2025 10:12:38 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PIWao5/FPRx7B8KlNspGyaa/ppmRkvBXy2TJObbgU/Xs+HxCuYGhrzd6hRqXzWGC73LG9TMCckLGv1OUIQ1RbSFIYJ5WwFK5SPmFJCqXDaZnZzmK7TsgSLUvX6XRoPuMuMRIiQJuboYIrdt0plyTLzBEr2YfDw/Vgc+q+OVTjL3Y4TxQjh86Fex0JGUF9oyACayotefn7gJglBfNyljWqQEgsfbmlWVOiAtareY7kxKJ6G7AcTcWAqImjIYY8sjQe0jgmdDJJR6kjshAxYMngkc9LUG4aPoAu48ko92f29evWlqFNZsPVoMhiRfelj4m4N7UCB7w33wKT+E03yZBog== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=A7pQnU1DSGJIMeML/z0bP7zVbfeL6Osf8V4zS3YgcQw=; b=yA7v+LPOJm8Mvhz0Qhad2zi5Ve1HZVBDCMae2QMg3i5++T8ldUwmc3StB0vESwbOaYGwRbRFb1P54vMl8Yd7r8dvVAcIYsFAFl6BWJ8/UGnj0vcX70ayCwuOE6ZznRGVuYIvHFoCVBHtfWyFMhvJvOHu9bz2Tv8hVhFQiFrY5vliMw5LQXuE+Vo3DAaft3y8d8D6O42WzZ0w/0Legc/jCizn3E4NLkgsnxcbjJI12kW5szpMBRiXqcRm6vnWYhDxa9js63soz3ltdSBtco69vHYJb8brHi0pCOWkHiTvbzOCHF6aM/aFjLQyYLIcQc8fEWFSbVvHVUqOtW7jwLSw7g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=openvswitch.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=A7pQnU1DSGJIMeML/z0bP7zVbfeL6Osf8V4zS3YgcQw=; b=uoUvMDGkQbJyDrgKIXQE+d4yAmtOQzU8wLhwLgnjatnDJkd5jWpGEQXkryd1uA8BCVk+dXAgI9DcOQUviJ6X3ysUp/jJz092TbMsADBwwPQ7kzJsxJTA5WAheczLvV3+COP0YE+yrMCGxEJC8kAI22D8Kg5oe0x1jBqj5RM7W4b+9Hqqj6fGOSb6UqRL7GK2CqmmQw0qeJi/TWPOwRzS5aJicnj1DG5k+m2vGX9yuvaPfW95bbsxAnMQguX0ApfyKyVNL5IvO85wnglT9Nnze+vlyMgMOpuZ9zLLmjwQA/62W6BAz9q+UYndG3TGg3axT8wn4MJpH+d6M74vcZ0kqQ== Received: from DM6PR21CA0022.namprd21.prod.outlook.com (2603:10b6:5:174::32) by CY5PR12MB6453.namprd12.prod.outlook.com (2603:10b6:930:37::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8356.21; Mon, 20 Jan 2025 10:12:27 +0000 Received: from CY4PEPF0000E9CF.namprd03.prod.outlook.com (2603:10b6:5:174:cafe::df) by DM6PR21CA0022.outlook.office365.com (2603:10b6:5:174::32) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8377.13 via Frontend Transport; Mon, 20 Jan 2025 10:12:27 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by CY4PEPF0000E9CF.mail.protection.outlook.com (10.167.241.134) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8377.8 via Frontend Transport; Mon, 20 Jan 2025 10:12:26 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Mon, 20 Jan 2025 02:12:14 -0800 Received: from rnnvmail203.nvidia.com (10.129.68.9) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Mon, 20 Jan 2025 02:12:14 -0800 Received: from c-237-149-140-145.mtl.labs.mlnx (10.127.8.10) by mail.nvidia.com (10.129.68.9) with Microsoft SMTP Server id 15.2.1544.4 via Frontend Transport; Mon, 20 Jan 2025 02:12:12 -0800 To: , Roi Dayan CC: Maor Dickman , Eli Britstein Date: Mon, 20 Jan 2025 12:12:09 +0200 Message-ID: <20250120101210.1216196-1-roid@nvidia.com> X-Mailer: git-send-email 2.18.2 MIME-Version: 1.0 X-NV-OnPremToCloud: AnonymousSubmission X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9CF:EE_|CY5PR12MB6453:EE_ X-MS-Office365-Filtering-Correlation-Id: 9ac99d42-fe6f-435e-69ca-08dd393af104 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: AFE0NUZszPw+xu58f7GSWrth0JgcMAnQZfVQ+cX3SCUREwNJnyfMRG5uWfww4ysR03Bm8vPRkjYHf/EPnncHmDROiSM6Szr3YVmIb35j/oIvj9QZD+Af/7sVIGaaItjcbujZ1AyEi6+a8st342qZeyWHAhlt+bQ/r97SL78GW6PbisLWktcBkfF3QlRW4ntIai0K6y2tf/Cwg7DfIhmoWucTxKfxtDamLyGxhFnfdBKM2vL8+p99uDMGPZCNbZrhFwzadiTVkRRqqsxOVkrDksieXZ0lAELCSa9e4oXpmZcSHM5fC8X1rnk6Get2EpOHUWe04bPc4FqpIjlnEDGMPdKzi5JWgo6HYBGcackE0doDheu4RwpGroAgq3X72MZgl5p5xA6b623kjalg1/pxlq6Fs6wpULW+hJoMzqmpAWEzZykL05lqeD9zyM2KIH/THgW8JWfNP5Thb6IAJdDIbEwWtnns2zYffabeXBtesF0T4ozZJVidmR/Py4XkKRtthUGtXQBm+GM5+XMK2ogoEjh3UgACddSXnbP00R67nTb42nr9ywZ1B2G9EXN+5noWN3Y3zVpcUwB6iBFz7RbCpZ7wMK8codfiLYSajmXislt6x4MZ8UukqrGxUXCCQF4cYEsPJiYt7plfd/KSp3m28mZtufVvilxvoR7y5Gc9xww/M+pr5QIHDH7toCTAIrGQvYjYV/6DMQfy1yCcshGfR3qROhRWusHKkOKVRy0Hsmyitq863q1IAJhTez+FhgFSkRXDtdeGGtROnIUISNykw2SOmuSxmYGI7PaznzZT4eDWG5l37DuyJJcFlHD9NOqBucMs3Xl1HvjdcpiXUqUy1xWJ+PeBvlwtVWwdarJiRtYEXEPgjiWzE8XO0SEeqWoQmsCUfmbkCEG5E8zAuoANgaJywth0P5EIrJ8ZL7GgIsRgPuIaS97FjarTaT7b79S5boWw4cGH1wasVguwPAqpcMx4mO6KDAty0JITYQuXRyORZHnYELyGAC152Q4FjePfC2r/BrLV27YkLL06ICJN7fD0OU/Ja9u07eLGLxgjYO8h/33HGYWSAfvqqRUWGOfPs0/qGm+Ri4MoNKvV8j9tsukdVYFe9URa37OyyhVHYldNhTh5WLFarybuflurCW57xXtoFiVNWVP5TcSK4hnqcC7EUZoSUqKSkcsMW68v2ZGmqdDD/fvn0hN+ZuFKjA+1iOJKQWfoJgd8kO+pF9Zxi1iSK0Qhe7XHOWr/W47BDznu+3zLS8Mvdjz7SMBwnHh7qSoIUG9w9h27mTX0ngHRM9LeWVSrNH0e0vmY9ZWtk6tuLYHiWILxfBQSW7Mege6R46H3lKpBGo/df4hodcw3GlE7946Q/1Pgkezpv9bi2wcY956uj4KtlmjiJ82/+jDZatZUgdy3G3QTynD9tQ1xvpYpc+gobDCqcXO3kFV8Cs0IgXffn3QBykIpLY2wTI21iZNdsXEZZGG9d+srpKiPnLf/SjnG8kBe+3KhhNtKMQE= X-Forefront-Antispam-Report: CIP:216.228.117.161; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge2.nvidia.com; CAT:NONE; SFS:(13230040)(1800799024)(376014)(36860700013)(82310400026); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2025 10:12:26.9869 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9ac99d42-fe6f-435e-69ca-08dd393af104 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.161]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000E9CF.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6453 Subject: [ovs-dev] [PATCH 1/2] dpdk: Allow configuration of max memory zones. X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Roi Dayan via dev From: Roi Dayan Reply-To: Roi Dayan Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" From: Eli Britstein ovs-vsctl set o . other_config:dpdk-max-memzones=XXX. This configuration requires restart in order to take effect. Signed-off-by: Eli Britstein Acked-by: Roi Dayan --- NEWS | 2 ++ lib/dpdk.c | 26 ++++++++++++++++++++++++++ vswitchd/vswitch.xml | 12 ++++++++++++ 3 files changed, 40 insertions(+) diff --git a/NEWS b/NEWS index d59692d8b305..e232d35067ed 100644 --- a/NEWS +++ b/NEWS @@ -89,6 +89,8 @@ v3.4.0 - 15 Aug 2024 * Link status changes are now handled via interrupt mode if the DPDK driver supports it. It is possible to revert to polling mode by setting per interface 'options:dpdk-lsc-interrupt' to 'false'. + * New configuration knob 'other_config:dpdk-max-memzones' to set dpdk + max memory zones. - Python: * Added custom transaction support to the Idl via add_op(). * Added support for different output formats like 'json' to Python's diff --git a/lib/dpdk.c b/lib/dpdk.c index b7516257c5e4..de729bedd9da 100644 --- a/lib/dpdk.c +++ b/lib/dpdk.c @@ -310,6 +310,28 @@ malloc_dump_stats_wrapper(FILE *stream) rte_malloc_dump_stats(stream, NULL); } +#ifdef ALLOW_EXPERIMENTAL_API +static void +dpdk_init_max_memzones(const struct smap *ovs_other_config) +{ + uint32_t max_memzones; + int rv; + + max_memzones = smap_get_uint(ovs_other_config, "dpdk-max-memzones", 0); + + if (!max_memzones) { + return; + } + + rv = rte_memzone_max_set(max_memzones); + if (rv) { + VLOG_WARN("Failed to set max memzones to %"PRIu32, max_memzones); + } else { + VLOG_INFO("Setting max memzones to %"PRIu32, max_memzones); + } +} +#endif + static bool dpdk_init__(const struct smap *ovs_other_config) { @@ -342,6 +364,10 @@ dpdk_init__(const struct smap *ovs_other_config) auto_determine = false; } +#ifdef ALLOW_EXPERIMENTAL_API + dpdk_init_max_memzones(ovs_other_config); +#endif + /** * NOTE: This is an unsophisticated mechanism for determining the DPDK * main core. diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml index 275bcbec0b5a..38259e251c9d 100644 --- a/vswitchd/vswitch.xml +++ b/vswitchd/vswitch.xml @@ -425,6 +425,18 @@

+ +

+ Specifies the maximum number of memzones that can be created in + DPDK. +

+

+ The default is empty, keeping DPDK's default. Changing this value + requires restarting the daemon. +

+
+