Out of order User Fence under vmbind
Under Neo, the same test passes most of the time, but sometimes we block for ever on wait fence.
ctrl-c will produce
xe 0000:88:00.0: [drm] Ioctl argument check failed at drivers/gpu/drm/xe/xe_wait_user_fence.c:187: err < 0 (succeed next time)
So did instrument Neo and XE code to capture the sequence - here are the logs:
neo_wait_local_dbg_patch_49780586ced2a5fd042b074c32646fd255fa90b9.txt
neo_wait_no_issue.txt - normal case
neo_wait_issue.txt <- out of order
The sequence is simple, Neo does a vmbind with an increasing fence value at same address, then issue a waitFence on last fence value.