Re: [PATCH net 3/6] net/mlx5e: Fix misidentification of ASO CQE during poll loop

From: Jacob Keller

Date: Thu Feb 12 2026 - 17:38:47 EST




On 2/12/2026 2:32 AM, Tariq Toukan wrote:
From: Gal Pressman <gal@xxxxxxxxxx>

The ASO completion poll loop uses usleep_range() which can sleep much
longer than requested due to scheduler latency. Under load, we witnessed
a 20ms+ delay until the process was rescheduled, causing the jiffies
based timeout to expire while the thread is sleeping.

The original do-while loop structure (poll, sleep, check timeout) would
exit without a final poll when waking after timeout, missing a CQE that
arrived during sleep.

Restructure the loop by moving the poll into the while condition,
ensuring we always poll after sleeping, catching CQEs that arrived
during that time.


I would have re-written these to be based on poll_timeout_us() or read_poll_timeout().

Again as with previous patch, I don't know if that warrants a re-roll.

Reviewed-by: Jacob Keller <jacob.e.keller@xxxxxxxxx>