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 D132D465FE for ; Tue, 22 Apr 2025 17:52:09 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 01FBF40649; Tue, 22 Apr 2025 17:52:08 +0200 (CEST) Received: from mail-lf1-f98.google.com (mail-lf1-f98.google.com [209.85.167.98]) by mails.dpdk.org (Postfix) with ESMTP id 8DF8C402F1 for ; Tue, 22 Apr 2025 17:52:05 +0200 (CEST) Received: by mail-lf1-f98.google.com with SMTP id 2adb3069b0e04-54d65cb6e8aso6349716e87.1 for ; Tue, 22 Apr 2025 08:52:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind.com; s=google; t=1745337125; x=1745941925; 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=h4rzoRudxLndFIatxDkETQ9qZXvjl6fTJLUB7L+rJAc=; b=ivAWMTpqbtyqUO2Zm984tzMiQu8u3ncNG1/UTge81OLkCIk8PqadV6aCP9Nlb9lGeH 0VnkUkjZkNVJdwbcfLKGmMWmkU/XrWHryBfWKX+yKNnsTZSuaMZPoNGrdO6cdWMiltSn NZGkh36kHQ6+B4+Kwm1+qSzsVQB84TLNPbQXrQPof9a/xGcR37B6BATy1KlaOL3zXSht OGsrWPG19Ly+vSN5q3eKbRQbNyNuASeCczmfa17XwLZFwdLXnLOuD/jFk7dAa8hn1GXo 3DH6z0UYmDGXT8a6xh7n0xDNJoyt540HM30vbkK2jZP09LsxeyGxmAeVUcnf2kSyNpDS EFaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745337125; x=1745941925; 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=h4rzoRudxLndFIatxDkETQ9qZXvjl6fTJLUB7L+rJAc=; b=scA5Hqukwyus7h395Utk7epAaZeULR0fdruIbAxiOAeOz8G33vYjWIZSST3THO8znI 5XuHfN8htCOEXVRQzkMTU4o3jILHTagWQQ22kwYDJylq+uwd+/xvNQYDRFJ+aAUH4kf7 e4y41R9GltStMEi389088dTzpfVkYxWkbKgQbi2RDP1qmbGeBiFMRGaI2OZA3v76Pagd uqirBLfFk5COmOqOvSdRF7Va9AGgnyByRJvCeRxHCLw09vvlnp6OScP4ssDzkg08W1bK DbTifRL6qQNrVyywncYouzHUUl0W4lRn28prF2U5PgHkH60HaxbrE7uafZlm9yTXD7GY pAbA== X-Forwarded-Encrypted: i=1; AJvYcCVGbm0YQlYTpLVMaOqLh8DjHaiAXiSBp4QeTuxG8Qg/mg0ATo49yJve7Gs6m35HcvSvcg/nxWc=@dpdk.org X-Gm-Message-State: AOJu0YxmVZjb/EOruEK9Nv47lyulnb9qLrdxxzwEWKjG/lPcRouSmN8i CQ+11NGw1R3mvNaZDodPAfAbQmj3ieLRdio5tNt3M9LR5DokbtC30HkKdvn6VmRRMz27sqk/noy I579I47JchfJhIBoMBHqa55BRCESOYgPM X-Gm-Gg: ASbGncuRRv+1llY6mjpCFIaR1msw9RoG8Iz3qdlz64HksjImntTmHAhCFzqaqb+Hh1J Z1srJdpfdWpLgLnC8/znmfAkNPh0OaNz3gc8qRi5uy+vG2Yw2NaXSNIrGCYrnHFc4HLORfy8DVT lfbqps26BcF196r9k4Lsepl88NR5fUzcWBk+BYf2n5hatGKnZQwVyQqqvPDqak2Q9pyHzrF8HHf hA5DjUNlZqYS1sFMiIL9eJMSBBEgQAM3hRSm+w5Lroe6X+YsQZu7qSpJtmL97MslGfT5Im2vqsW u7hIO7zOjI34Xafh7mKAPepw25v7Z8/pjTO84fyxXo8ErHHCexeRr0plCzeSC79/SlM= X-Google-Smtp-Source: AGHT+IHpBh87GkmsVdERGJKNzlNGYfe/lSfVfyBk8+CprU2gA4WQoYrbEV7fTvxQLsagexGgXbJEhr/X6ZOm X-Received: by 2002:a2e:be23:0:b0:30b:b9e4:13cd with SMTP id 38308e7fff4ca-310904c7f69mr43542721fa.2.1745337124803; Tue, 22 Apr 2025 08:52:04 -0700 (PDT) Received: from smtpservice.6wind.com ([185.13.181.2]) by smtp-relay.gmail.com with ESMTP id 38308e7fff4ca-31090759fd2sm3054551fa.12.2025.04.22.08.52.04; Tue, 22 Apr 2025 08:52:04 -0700 (PDT) X-Relaying-Domain: 6wind.com Received: from localhost (dio.dev.6wind.com [10.17.1.86]) by smtpservice.6wind.com (Postfix) with ESMTP id 3EA8B360DB; Tue, 22 Apr 2025 17:52:04 +0200 (CEST) From: edwin.brossette@6wind.com To: dev@dpdk.org Cc: olivier.matz@6wind.com, didier.pallard@6wind.com, lauren.hardy@6wind.com, dsinghrawat@marvell.com, palok@marvell.com, Edwin Brossette , stable@dpdk.org Subject: [PATCH 4/5] net/qede: fix QEDE_ETH_OVERHEAD being counted twice in rx_buf_size Date: Tue, 22 Apr 2025 17:51:42 +0200 Message-Id: <20250422155143.3893525-4-edwin.brossette@6wind.com> X-Mailer: git-send-email 2.35.0.4.g44a5d4affccf In-Reply-To: <20250422155143.3893525-1-edwin.brossette@6wind.com> References: <20250422155143.3893525-1-edwin.brossette@6wind.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 From: Edwin Brossette rx_buf_size is computed at 2 different places: in qede_rx_queue_setup() and in qede_set_mtu(). In qede_rx_queue_setup(), it is initialized with mtu + RTE_ETHER_HDR_LEN and QEDE_ETH_OVERHEAD is added to it in qede_calc_rx_buf_size(). In qede_set_mtu(), it is initialized with mtu + RTE_ETHER_HDR_LEN + QEDE_ETH_OVERHEAD and QEDE_ETH_OVERHEAD is added to it a second time in qede_calc_rx_buf_size(). This is inconsistent and wrong in the case of qede_set_mtu(). Initialize this variable with mtu + QEDE_MAX_ETHER_HDR_LEN instead and stop adding + QEDE_ETH_OVERHEAD over and over again. This will factorize the code. Fixes: 318d7da3122b ("net/qede: fix Rx buffer size calculation") CC: stable@dpdk.org Signed-off-by: Edwin Brossette Acked-by: Didier Pallard --- drivers/net/qede/qede_rxtx.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/drivers/net/qede/qede_rxtx.c b/drivers/net/qede/qede_rxtx.c index fe839a6ba844..ea77f09e18be 100644 --- a/drivers/net/qede/qede_rxtx.c +++ b/drivers/net/qede/qede_rxtx.c @@ -101,19 +101,14 @@ qede_calc_rx_buf_size(struct rte_eth_dev *dev, uint16_t mbufsz, * buffers can be used for single packet. So need to make sure * mbuf size is sufficient enough for this. */ - if ((mbufsz * ETH_RX_MAX_BUFF_PER_PKT) < - (max_frame_size + QEDE_ETH_OVERHEAD)) { + if ((mbufsz * ETH_RX_MAX_BUFF_PER_PKT) < max_frame_size) { DP_ERR(edev, "mbuf %d size is not enough to hold max fragments (%d) for max rx packet length (%d)\n", mbufsz, ETH_RX_MAX_BUFF_PER_PKT, max_frame_size); return -EINVAL; } - - rx_buf_size = RTE_MAX(mbufsz, - (max_frame_size + QEDE_ETH_OVERHEAD) / - ETH_RX_MAX_BUFF_PER_PKT); - } else { - rx_buf_size = max_frame_size + QEDE_ETH_OVERHEAD; - } + rx_buf_size = mbufsz; + } else + rx_buf_size = max_frame_size; /* Align to cache-line size if needed */ return QEDE_FLOOR_TO_CACHE_LINE_SIZE(rx_buf_size); @@ -235,14 +230,14 @@ qede_rx_queue_setup(struct rte_eth_dev *dev, uint16_t qid, dev->data->rx_queues[qid] = NULL; } - max_rx_pktlen = dev->data->mtu + RTE_ETHER_HDR_LEN; + max_rx_pktlen = dev->data->mtu + QEDE_MAX_ETHER_HDR_LEN; /* Fix up RX buffer size */ bufsz = (uint16_t)rte_pktmbuf_data_room_size(mp) - RTE_PKTMBUF_HEADROOM; /* cache align the mbuf size to simplify rx_buf_size calculation */ bufsz = QEDE_FLOOR_TO_CACHE_LINE_SIZE(bufsz); if ((rxmode->offloads & RTE_ETH_RX_OFFLOAD_SCATTER) || - (max_rx_pktlen + QEDE_ETH_OVERHEAD) > bufsz) { + max_rx_pktlen > bufsz) { if (!dev->data->scattered_rx) { DP_INFO(edev, "Forcing scatter-gather mode\n"); dev->data->scattered_rx = 1; -- 2.35.0.4.g44a5d4affccf