Test-Label: intel-Testing Test-Status: SUCCESS _Testing PASS_ DPDK git repo: dpdk-next-net-mlx commit 9e205f440a7d536b4ae6138b48ab624c7533110d Author: Sivaprasad Tummala Date: Tue Nov 11 03:40:57 2025 +0000 net/mlx5: fix spurious CPU wakeups caused by invalid CQE Previously, the PMD used a common monitor callback to determine CQE ownership for power-aware polling. However, when a CQE contained an invalid opcode(MLX5_CQE_INVALID), ownership bit was not reliable. As a result, the monitor condition could falsely indicate CQE availability and cause the CPU to wake up unnecessarily during low traffic periods. This resulted in spurious wakeups in monitor-wait mode and reduced the expected power savings, as cores exited the sleep state even when no valid CQEs were available. This patch introduces a dedicated callback that skips invalid CQEs and optimizes power efficiency by preventing false wakeups caused by hardware-owned or invalid entries. Fixes: a8f0df6bf98d ("net/mlx5: support power monitoring") Cc: akozyrev@nvidia.com Cc: stable@dpdk.org Signed-off-by: Sivaprasad Tummala v2: - Updated CQE opcode check logic — replaced XOR with comparison - Renamed variable match to sw_owned for clarity - Updated CQE ownership check order Testing Summary : 18 Case Done, 18 Successful, 0 Failures TestPlan: pf_smoke: http://git.dpdk.org/tools/dts/tree/test_plans/pf_smoke_test_plan.rst vf_smoke: http://git.dpdk.org/tools/dts/tree/test_plans/vf_smoke_test_plan.rst virtio_smoke: http://git.dpdk.org/tools/dts/tree/test_plans/virtio_smoke_test_plan.rst TestSuite: pf_smoke: http://git.dpdk.org/tools/dts/tree/tests/TestSuite_pf_smoke.py vf_smoke: http://git.dpdk.org/tools/dts/tree/tests/TestSuite_vf_smoke.py virtio_smoke: http://git.dpdk.org/tools/dts/tree/tests/TestSuite_virtio_smoke.py OS : Ubuntu 24.04.3 LTS Kernel : 6.8.0-71-generic GCC : 13.3.0-6ubuntu2~24.04 NIC : Ethernet Controller XL710 for 40GbE QSFP+ Target : x86_64-native-linuxapp-gcc Test result details: +-------------+---------------------------+-------+ | suite | case | status| +-------------+---------------------------+-------+ | asan_smoke | test_rxtx_with_ASan_enable| passed| | pf_smoke | test_pf_jumbo_frames | passed| | pf_smoke | test_pf_rss | passed| | pf_smoke | test_pf_tx_rx_queue | passed| | vf_smoke | test_vf_rss | passed| | vf_smoke | test_vf_tx_rx_queue | passed| | vf_smoke | test_vf_jumbo_frames | n/a | | virtio_smoke| test_virtio_loopback | passed| | virtio_smoke| test_virtio_pvp | passed| +-------------+---------------------------+-------+ OS : Ubuntu 24.04.3 LTS Kernel : 6.8.0-87-generic GCC : 13.3.0-6ubuntu2~24.04 NIC : Ethernet Controller E810-C for SFP Target : x86_64-native-linuxapp-gcc Test result details: +-------------+---------------------------+-------+ | suite | case | status| +-------------+---------------------------+-------+ | asan_smoke | test_rxtx_with_ASan_enable| passed| | pf_smoke | test_pf_jumbo_frames | passed| | pf_smoke | test_pf_rss | passed| | pf_smoke | test_pf_tx_rx_queue | passed| | vf_smoke | test_vf_jumbo_frames | passed| | vf_smoke | test_vf_rss | passed| | vf_smoke | test_vf_tx_rx_queue | passed| | virtio_smoke| test_virtio_loopback | passed| | virtio_smoke| test_virtio_pvp | passed| +-------------+---------------------------+-------+ DPDK STV team