✗ CI.checkpatch: warning for drm/xe: serialize store_data and user_interrupt for ufence wait (rev2)
Patchwork
patchwork at emeril.freedesktop.org
Wed Aug 13 19:53:16 UTC 2025
== Series Details ==
Series: drm/xe: serialize store_data and user_interrupt for ufence wait (rev2)
URL : https://patchwork.freedesktop.org/series/152847/
State : warning
== Summary ==
+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
6f9293a391ff3c575bc021f454be5d0a0c076f57
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 3aca4152a2cce49748c02f641047bab24cff585c
Author: Fei Yang <fei.yang at intel.com>
Date: Tue Aug 12 11:28:46 2025 -0700
drm/xe: serialize store_data and user_interrupt for ufence wait
Quote BSpec, MI_STORE_DATA_IMM "simply initiates the write operation with
command execution proceeding normally. Although the write operation is
guaranteed to complete eventually, there is no mechanism to synchronize
command execution with the completion (or even initiation) of these
operations."
The KMD currently emit MI_STORE_DATA_IMM and MI_USER_INTERRUPT consecutively
to implement user fence. However, according to the BSpec, the data write
operation is not guaranteed to be completed when triggering the interrupt,
that would cause the xe_wait_user_fence_ioctl to wait until the full user
specified timeout is reached before checking the fence value again. Great
performance degradation has been observed in IGT xe_exec_fault_mode test
cases due to this unnecessary wait. The worst case is that if user set the
timeout to MAX_INT32, the wait could end up being a hang until some other
random program triggers a user interrupt to wake it up.
A semaphore wait is added right after the data write to avoid the unexpected
wait.
Signed-off-by: Fei Yang <fei.yang at intel.com>
+ /mt/dim checkpatch b6d374ca303d7b9f6456bc6db0cfe6e4d30bf472 drm-intel
3aca4152a2cc drm/xe: serialize store_data and user_interrupt for ufence wait
-:12: WARNING:COMMIT_LOG_LONG_LINE: Prefer a maximum 75 chars per line (possible unwrapped commit description?)
#12:
The KMD currently emit MI_STORE_DATA_IMM and MI_USER_INTERRUPT consecutively
total: 0 errors, 1 warnings, 0 checks, 37 lines checked
More information about the Intel-xe
mailing list