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 0B73F4624E for ; Mon, 17 Feb 2025 18:05:19 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C2C03400D6; Mon, 17 Feb 2025 18:05:18 +0100 (CET) Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) by mails.dpdk.org (Postfix) with ESMTP id 88B2A400D6 for ; Mon, 17 Feb 2025 18:05:17 +0100 (CET) Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-4398c8c8b2cso8160005e9.2 for ; Mon, 17 Feb 2025 09:05:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739811917; x=1740416717; 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=lA3gNybS5Lya4fVbD7geZjxkqVK54EEelLOrLODe7ac=; b=cIFFJqpNFIVrPsaO9kiKd7piaDiQXAnfWsSjXsdrkUVit+d/ec3Gag5dm13hLfpnmc iu6wPtPVmLIhx2Fpq+fVJ9sP4OcV4CWUiFmEUXe4Dux2CVc4QGuYhIillNuzS+4oS54F cjtZjLtKspJvypr/2jyO1C49ahdNQv/tTH6ixkcmfELuB76DrqwrfeFeN8W1vLVTZBrE 0j16UoTPf8JTqOH6es7qexRUBv43jOvxXDWX8B7v3c+/OdUrg06OQ51Ds2JQjz6XvWvu 0uv9uGFbin2aF9WiG4iyuceGehDR530GYecDt8GYH1i9pgMSS21WajfnluvN13zaXc76 IgOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739811917; x=1740416717; 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=lA3gNybS5Lya4fVbD7geZjxkqVK54EEelLOrLODe7ac=; b=BxUyJZhznlNXDKfaSGh/hoIs2U2oPhteO0Z6peFJ+qA6oTQaSKNMZG3P/ga5TFYm// GNaAwHMQStRabqS5Ro2oMotEb0rQ5tVcR3Wm1p4m56xf72kb94k5oTcqNjzjzfDX3FFH ripzkQskbKR55dM9R1i+Pm+QyY8BZE/XdZmos+gddIXb1xorZ1pE7coB5DOpmeS2RqdG cPEKGuivTTabPGykyj3HDic9C5YoCXh7XNcPmA1J5s7wwvJ3k0Q4ZF5yC7lPUu5/uDV5 uJajLJWtwAfceXciXg4i6q/5uIOUItX38BnwzfbV/3UFvNiEta9SWpsNkrzdvi0VHcQi spMg== X-Forwarded-Encrypted: i=1; AJvYcCVVUrY1l9fl2Iv5slxtzcMmPHvDFmmjk5BNTZAuEbGn4Xksp5ySKP8oaX5pl6tfPvsgXyzXX38=@dpdk.org X-Gm-Message-State: AOJu0YzDFFP2pY4SqLDAW2mffuAwELWlghLgrD7q2AtAvwc06TS0HNVw ohXv0HaDuZ4VS/jmrj9/jV/DsdTeGbdzkomjCYoUEru/JSpPRB1Norl29y+wYQc= X-Gm-Gg: ASbGncsxulcKh0xuLyq5/5wKBq/8lsTkoh17ZaonDydjIlZbJ61xPL0lKwf5kzlMGpL 5zw4QGWqyhUzd/k4mCDwYeQv/iX3e2/L/R52879d27mMizXLH5EMGhkYmfcNcr4HHSxEe2QCxFL 7QGWHqVoSO0zuY9VHgdzQYfExCl57WVCKS1PCg4izFhFDW3v5/a6Si9QL48k0Lf/yGVhpmS41bE 3MdcYUUvjQR0zepcRoQgyU/rQFCJh1XkBExMugO8F6KI+0Dmq/nr7NRX75sgl8Bdxlb7xE9crOb +ZLYu0h9ksMkfIFNdWs3Mg== X-Google-Smtp-Source: AGHT+IHN51QxSutVy3bJYPV/bab04yoh2EqmIHzMR1MRUTejUsJ9vbBCCTluK1AbbXyL0JdKvjB6qQ== X-Received: by 2002:adf:ed48:0:b0:38d:d5af:29b4 with SMTP id ffacd0b85a97d-38f33f565b6mr9069377f8f.45.1739811916886; Mon, 17 Feb 2025 09:05:16 -0800 (PST) Received: from localhost ([2a01:4b00:d036:ae00:f83c:95e7:29fd:a997]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-38f258b4423sm12989645f8f.11.2025.02.17.09.05.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Feb 2025 09:05:16 -0800 (PST) From: luca.boccassi@gmail.com To: Long Wu Cc: Chaoyong He , dpdk stable Subject: patch 'net/bonding: fix dedicated queue setup' has been queued to stable release 22.11.8 Date: Mon, 17 Feb 2025 17:03:40 +0000 Message-ID: <20250217170456.1068278-7-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250217170456.1068278-1-luca.boccassi@gmail.com> References: <20250217170456.1068278-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Hi, FYI, your patch has been queued to stable release 22.11.8 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 02/19/25. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/4c7148bc0ebe1a81b38b90cd3be73bb9f817c3b1 Thanks. Luca Boccassi --- >From 4c7148bc0ebe1a81b38b90cd3be73bb9f817c3b1 Mon Sep 17 00:00:00 2001 From: Long Wu Date: Thu, 26 Dec 2024 09:26:18 +0800 Subject: [PATCH] net/bonding: fix dedicated queue setup [ upstream commit 4da0705bf896327af062212b5a1e6cb1f1366aa5 ] The bonding PMD hardcoded the value of dedicated hardware Rx/Tx queue size as (128/512). This will cause the bonding port start fail if some NIC requires more Rx/Tx descriptors than the hardcoded number. Therefore, use the minimum hardware queue size of the member port to initialize dedicated hardware Rx/Tx queue. If obtaining the minimum queue size failed, use the default queue size. Fixes: 112891cd27e5 ("net/bonding: add dedicated HW queues for LACP control") Signed-off-by: Long Wu Reviewed-by: Chaoyong He --- drivers/net/bonding/rte_eth_bond_8023ad.h | 3 +++ drivers/net/bonding/rte_eth_bond_pmd.c | 24 +++++++++++++++++++++-- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/drivers/net/bonding/rte_eth_bond_8023ad.h b/drivers/net/bonding/rte_eth_bond_8023ad.h index 025bd0ec54..d4c1d78d77 100644 --- a/drivers/net/bonding/rte_eth_bond_8023ad.h +++ b/drivers/net/bonding/rte_eth_bond_8023ad.h @@ -35,6 +35,9 @@ extern "C" { #define MARKER_TLV_TYPE_INFO 0x01 #define MARKER_TLV_TYPE_RESP 0x02 +#define SLOW_TX_QUEUE_HW_DEFAULT_SIZE 512 +#define SLOW_RX_QUEUE_HW_DEFAULT_SIZE 512 + typedef void (*rte_eth_bond_8023ad_ext_slowrx_fn)(uint16_t slave_id, struct rte_mbuf *lacp_pkt); diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c index 8df632fa6e..0e6f3aa42b 100644 --- a/drivers/net/bonding/rte_eth_bond_pmd.c +++ b/drivers/net/bonding/rte_eth_bond_pmd.c @@ -1681,10 +1681,27 @@ slave_configure_slow_queue(struct rte_eth_dev *bonded_eth_dev, } if (internals->mode4.dedicated_queues.enabled == 1) { + struct rte_eth_dev_info member_info = {}; + uint16_t nb_rx_desc = SLOW_RX_QUEUE_HW_DEFAULT_SIZE; + uint16_t nb_tx_desc = SLOW_TX_QUEUE_HW_DEFAULT_SIZE; + + errval = rte_eth_dev_info_get(slave_eth_dev->data->port_id, + &member_info); + if (errval != 0) { + RTE_BOND_LOG(ERR, + "rte_eth_dev_info_get: port=%d, err (%d)", + slave_eth_dev->data->port_id, + errval); + return errval; + } + + if (member_info.rx_desc_lim.nb_min != 0) + nb_rx_desc = member_info.rx_desc_lim.nb_min; + /* Configure slow Rx queue */ errval = rte_eth_rx_queue_setup(slave_eth_dev->data->port_id, - internals->mode4.dedicated_queues.rx_qid, 128, + internals->mode4.dedicated_queues.rx_qid, nb_rx_desc, rte_eth_dev_socket_id(slave_eth_dev->data->port_id), NULL, port->slow_pool); if (errval != 0) { @@ -1696,8 +1713,11 @@ slave_configure_slow_queue(struct rte_eth_dev *bonded_eth_dev, return errval; } + if (member_info.tx_desc_lim.nb_min != 0) + nb_tx_desc = member_info.tx_desc_lim.nb_min; + errval = rte_eth_tx_queue_setup(slave_eth_dev->data->port_id, - internals->mode4.dedicated_queues.tx_qid, 512, + internals->mode4.dedicated_queues.tx_qid, nb_tx_desc, rte_eth_dev_socket_id(slave_eth_dev->data->port_id), NULL); if (errval != 0) { -- 2.47.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2025-02-17 16:13:17.149873051 +0000 +++ 0007-net-bonding-fix-dedicated-queue-setup.patch 2025-02-17 16:13:16.786441593 +0000 @@ -1 +1 @@ -From 4da0705bf896327af062212b5a1e6cb1f1366aa5 Mon Sep 17 00:00:00 2001 +From 4c7148bc0ebe1a81b38b90cd3be73bb9f817c3b1 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 4da0705bf896327af062212b5a1e6cb1f1366aa5 ] + @@ -16 +17,0 @@ -Cc: stable@dpdk.org @@ -22,2 +23,2 @@ - drivers/net/bonding/rte_eth_bond_pmd.c | 25 ++++++++++++++++++++--- - 2 files changed, 25 insertions(+), 3 deletions(-) + drivers/net/bonding/rte_eth_bond_pmd.c | 24 +++++++++++++++++++++-- + 2 files changed, 25 insertions(+), 2 deletions(-) @@ -26 +27 @@ -index 395e41ff95..4c30bd40ee 100644 +index 025bd0ec54..d4c1d78d77 100644 @@ -36 +37 @@ - typedef void (*rte_eth_bond_8023ad_ext_slowrx_fn)(uint16_t member_id, + typedef void (*rte_eth_bond_8023ad_ext_slowrx_fn)(uint16_t slave_id, @@ -40 +41 @@ -index f69496feec..467f7fe7ea 100644 +index 8df632fa6e..0e6f3aa42b 100644 @@ -43 +44 @@ -@@ -1684,10 +1684,26 @@ member_configure_slow_queue(struct rte_eth_dev *bonding_eth_dev, +@@ -1681,10 +1681,27 @@ slave_configure_slow_queue(struct rte_eth_dev *bonded_eth_dev, @@ -51 +52 @@ -+ errval = rte_eth_dev_info_get(member_eth_dev->data->port_id, ++ errval = rte_eth_dev_info_get(slave_eth_dev->data->port_id, @@ -56 +57 @@ -+ member_eth_dev->data->port_id, ++ slave_eth_dev->data->port_id, @@ -65,2 +66,2 @@ -- - errval = rte_eth_rx_queue_setup(member_eth_dev->data->port_id, + + errval = rte_eth_rx_queue_setup(slave_eth_dev->data->port_id, @@ -69 +70 @@ - rte_eth_dev_socket_id(member_eth_dev->data->port_id), + rte_eth_dev_socket_id(slave_eth_dev->data->port_id), @@ -72 +73 @@ -@@ -1699,8 +1715,11 @@ member_configure_slow_queue(struct rte_eth_dev *bonding_eth_dev, +@@ -1696,8 +1713,11 @@ slave_configure_slow_queue(struct rte_eth_dev *bonded_eth_dev, @@ -79 +80 @@ - errval = rte_eth_tx_queue_setup(member_eth_dev->data->port_id, + errval = rte_eth_tx_queue_setup(slave_eth_dev->data->port_id, @@ -82 +83 @@ - rte_eth_dev_socket_id(member_eth_dev->data->port_id), + rte_eth_dev_socket_id(slave_eth_dev->data->port_id),