On 11/3/2022 8:10 PM, Klaus Jensen wrote:
I agree that the spec is a little unclear on this point. In any case, in
Linux, when the driver has decided that the sq tail must be updated,
it will use this check:

   (new_idx - event_idx - 1) < (new_idx - old)

When eventidx is already behind, it's like:

 0
 1 <- event_idx
 2 <- old
 3 <- new_idx
 4
 .
 .
 .

In this case, (new_idx - event_idx - 1) = 3-1-1 = 1 >= (new_idx - old) = 3-2=1, so the host won't update sq tail. Where am I wrong in this example?


So it doesn't account for if or not eventidx was already behind.


Reply via email to