Hi,
On 11/11/2025 5:40 AM, Sivaprasad Tummala wrote:
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: [email protected]
Cc: [email protected]
Signed-off-by: Sivaprasad Tummala <[email protected]>
v2:
- Updated CQE opcode check logic — replaced XOR with comparison
- Renamed variable match to sw_owned for clarity
- Updated CQE ownership check order
Patch applied to next-net-mlx,
Kindest regards
Raslan Darawsheh