mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
drm/xe: Attach last fence to TLB invalidation job queues
Add support for attaching the last fence to TLB invalidation job queues to address serialization issues during bursts of unbind jobs. Ensure that user fence signaling for a bind job reflects both the bind job itself and the last fences of all related TLB invalidations. Maintain submission order based solely on the state of the bind and TLB invalidation queues. Introduce support functions for last fence attachment to TLB invalidation queues. v3: - Fix assert in xe_exec_queue_tlb_inval_last_fence_set (CI) - Ensure migrate lock held for migrate queues (Testing) v5: - Style nits (Thomas) - Rewrite commit message (Thomas) Signed-off-by: Matthew Brost <matthew.brost@intel.com> Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com> Link: https://patch.msgid.link/20251031234050.3043507-3-matthew.brost@intel.com
This commit is contained in:
@@ -1731,8 +1731,13 @@ void xe_vm_close_and_put(struct xe_vm *vm)
|
||||
|
||||
down_write(&vm->lock);
|
||||
for_each_tile(tile, xe, id) {
|
||||
if (vm->q[id])
|
||||
if (vm->q[id]) {
|
||||
int i;
|
||||
|
||||
xe_exec_queue_last_fence_put(vm->q[id], vm);
|
||||
for_each_tlb_inval(i)
|
||||
xe_exec_queue_tlb_inval_last_fence_put(vm->q[id], vm, i);
|
||||
}
|
||||
}
|
||||
up_write(&vm->lock);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user