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).
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-13, 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 <thierry.herbe...@6wind.com> --- drivers/net/qede/base/meson.build | 1 + drivers/net/qede/meson.build | 1 + 2 files changed, 2 insertions(+) diff --git a/drivers/net/qede/base/meson.build b/drivers/net/qede/base/meson.build index a6dad3ec7bcc..6c8800a3f48f 100644 --- a/drivers/net/qede/base/meson.build +++ b/drivers/net/qede/base/meson.build @@ -55,3 +55,4 @@ foreach flag: error_cflags base_cflags += flag endif endforeach +base_cflags += '-O1' diff --git a/drivers/net/qede/meson.build b/drivers/net/qede/meson.build index e1b21d6ff5cd..3c2a5205732a 100644 --- a/drivers/net/qede/meson.build +++ b/drivers/net/qede/meson.build @@ -22,3 +22,4 @@ sources = files( if cc.has_argument('-Wno-format-nonliteral') cflags += '-Wno-format-nonliteral' endif +cflags += '-O1' -- 2.39.2