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>