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 B873546EA8 for ; Tue, 9 Sep 2025 07:40:44 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9DBDD40270; Tue, 9 Sep 2025 07:40:44 +0200 (CEST) Received: from mail-wm1-f98.google.com (mail-wm1-f98.google.com [209.85.128.98]) by mails.dpdk.org (Postfix) with ESMTP id A100B40270 for ; Tue, 9 Sep 2025 07:40:43 +0200 (CEST) Received: by mail-wm1-f98.google.com with SMTP id 5b1f17b1804b1-45dec1ae562so7226135e9.1 for ; Mon, 08 Sep 2025 22:40:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind.com; s=google; t=1757396443; x=1758001243; 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=NffGaMhctxwTPIL5NrfCLuUKojiSlqIIN5b0gio+XIs=; b=YZLplcLbEFxu8AIrX8YF0GnhZTooEwqjBqLLwWjiS8vR2Xtxgq55AqC+UxnxOHHHYQ Uzm+PT8jgioxc3cX6rPn5knScmGBMMnCsq7eGb2GL9ch04yz1kiGWj2CEi7rBWWXLJPU /3fq8yRzyjU7id+lrcRg44g3BL9DF0Di2Q2SrHk3i+oLShdYj3Kya9elHarmzWo7GJHw fL2oSMzSmfWfmWBNu8L4SaM97l5voIrA6K+fi9yYyqxKzaTRVLeZLvBsO16rIpyYbzKA LKO/kTPg7sjxKR4lTJOWjtLGeFKhuPTM1MZ2JGOjSuRTaaLje91h+sZrGaRDJEK/seVA TWRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757396443; x=1758001243; 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=NffGaMhctxwTPIL5NrfCLuUKojiSlqIIN5b0gio+XIs=; b=T+72EULdFpF+50G8Fz8nZ43onMr6epWFuOZuqXauLoHIQN82QWWPNwyl4H/Afi6G6y txBAAhNA71/4Ec+UoknKD+s6sYiZV7TSnQZFBIbY+OvVlQ1K0HRtdB8P0e8pOLW3O8/K vTEExAZqsIIFLKnWK6IPfBinAScVA20WGf3bFtZT3WaBCzRrDZ5gK2YvzqBPjZkaTqqx 73XwUrJpHO0PLvySXJ4sqFOwbUrBPYMSXBPv2QxkwAWKcOOgERuT+rGvNOu5JYNm1DuB sMO2HUN971bhFQ8BRGQO3GXhcIc90zhLD6DECrE7nqJ3vG5fcHVC7xOq4qUE22QmllGZ dk9g== X-Forwarded-Encrypted: i=1; AJvYcCU1hBlc6muL4TdeF5OyX6C4RQ0fIdnouRwF/bZSEdIwEj1LaV6pPk6nhmK7hKVKBQKTT8CIkh0=@dpdk.org X-Gm-Message-State: AOJu0YwcBWKEqtAnZ/AAkumIRE4AYWGuc8rvV0xfD45TSPvcRIDdZaLZ Kw82zeuACsEC6YUrIJi32d3ZgAoniQMQmzBzsm6BEARKild12sgogKsQXxYTUx7oLoz50W3u4FG 0Goj4KtFMBhuk4Qt/0Fa3bHyontX7VF4WbCA= X-Gm-Gg: ASbGncvLoMOSJA5cVCSn23cStiFPBJdv/ixIXxlSeceI09PjCCSGUR9v7dnWqEXHP6e k+OqYtUeT1Qc+fZ5+tSZzBbf6l3ghiOTCJJwUM5WH5IoO6XlVmA+JZ0CcD+r8KdI0JhybCkJe+a 6UlTBnL1YqMN8iQU1VgQ6YyloBmpPk9wMdS3L2NdjnfX7+TpvZZI5LED5gew9JSeSR0Y9MWkCH2 fCIFCdcTqfyo35fAmiO5ZBEpjC4tA6lg65W/USWibs7jOqJQDhdr01jN7l2B8u1DS8OtwfSQkdQ 05ii1TQbh3rXt96L9itluXxkKz/iPqLZhU4ofFJ71JLN3+JcmsnwfTQNI7PnMiTSugu2GXfXmJ4 5MjRZvzIL2iRFoadhEQ0= X-Google-Smtp-Source: AGHT+IG8WLtV19hu64/MAiD25RGxdhC+dMtlqji042EWXHLW4IFviXZDLXq/5gCH8X6X4zx6S4eDV3ytPDKL X-Received: by 2002:a05:6000:2288:b0:3cd:ef83:a9a1 with SMTP id ffacd0b85a97d-3e63736f5e1mr8500171f8f.20.1757396443004; Mon, 08 Sep 2025 22:40:43 -0700 (PDT) Received: from smtpservice.6wind.com ([185.13.181.2]) by smtp-relay.gmail.com with ESMTP id ffacd0b85a97d-3e752224ce3sm279940f8f.36.2025.09.08.22.40.42; Mon, 08 Sep 2025 22:40:42 -0700 (PDT) X-Relaying-Domain: 6wind.com Received: from localhost (vader.dev.6wind.com [10.17.1.39]) by smtpservice.6wind.com (Postfix) with ESMTP id B062B34A98; Tue, 9 Sep 2025 07:40:42 +0200 (CEST) From: Thierry Herbelot To: dev@dpdk.org Cc: Thierry Herbelot , Thomas Monjalon , Devendra Singh Rawat , Alok Prasad , Jerin Jacob , Olivier Matz , Edwin Brossette , stable@dpdk.org Subject: [V3] net/qede: reduce the optimization level for gcc > 11 Date: Tue, 9 Sep 2025 07:40:23 +0200 Message-Id: <20250909054023.3263401-1-thierry.herbelot@6wind.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20250908070414.1297844-1-thierry.herbelot@6wind.com> References: <20250908070414.1297844-1-thierry.herbelot@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 The qede PMD stopped working under Ubuntu-24.04 (using gcc-13) when compiled with -O3 (default level for all DPDK code). A bug is opened for this issue (see Link). The same issue is also seen with gcc-12 and gcc-14. The issue is not seen with clang-20. A first workaround is to just disable all optimizations (-O0), which restores packet Rx with Qlogic NICs. However, the performance impact is not acceptable (around 50% drop). A better compromise is to use -O1 for the qede PMD: - there is some perf impact, - but the PMD is working as expected (packets are correctly received). When compiling with both -O2 and -O3 and gcc > 11, there is no packet reception when using the qede PMD. The root cause could be missing 'volatile' keywords or missing memory barriers in the qede PMD code. Link: https://bugs.dpdk.org/show_bug.cgi?id=1379 Signed-off-by: Thierry Herbelot --- V2: be more precise when dropping optimization level (only for gcc > 11) V3: even more precise: the issue appears with gcc-12 --- drivers/net/qede/base/meson.build | 4 ++++ drivers/net/qede/meson.build | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/drivers/net/qede/base/meson.build b/drivers/net/qede/base/meson.build index a6dad3ec7bcc..acab6e8ac938 100644 --- a/drivers/net/qede/base/meson.build +++ b/drivers/net/qede/base/meson.build @@ -55,3 +55,7 @@ foreach flag: error_cflags base_cflags += flag endif endforeach +# no packet Rx with gcc > 11 with compiling with default -O3 or -O2 +if (cc.get_id() == 'gcc' and cc.version().version_compare('>=12.0')) + base_cflags += '-O1' +endif diff --git a/drivers/net/qede/meson.build b/drivers/net/qede/meson.build index e1b21d6ff5cd..86c3503a82f6 100644 --- a/drivers/net/qede/meson.build +++ b/drivers/net/qede/meson.build @@ -22,3 +22,7 @@ sources = files( if cc.has_argument('-Wno-format-nonliteral') cflags += '-Wno-format-nonliteral' endif +# no packet Rx with gcc > 11 with compiling with default -O3 or -O2 +if (cc.get_id() == 'gcc' and cc.version().version_compare('>=12.0')) + cflags += '-O1' +endif -- 2.39.2