On 2026-10-20 07:28, Olivier Kaloudoff wrote:
Hi Felix,
Patches 1 and 2 are
Reviewed-by: Felix Kuehling <[email protected]>
Thank you — yes please, go ahead and take them independently.
They're the uncontroversial half of the fix and they unblock the
drain path even without p3.
For patch 3 I defer to Christian's expertise. That said, if we don't
need the dma_fence_wait_timeout there, then we also don't need to
complicate the error handling/unwinding in the migration functions.
On the timeout we agree — it's gone; the wait is unbounded again.
But I'd argue for keeping the error propagation and migrate->dst
rollback anyway: with the orphaning fixed, a fence on a killed
sched entity completes with an error status (-ESRCH) instead of
never signaling — so the error path is now genuinely reachable,
and your original concern still applies: a failed copy must not
complete as a successful migration.
Sure. The error handling you added in v6 looked pretty clean. It's not
strictly necessary because the process will get killed after the reset
anyway. But it's nice to have better robustness also in case any other
error conditions get introduced in the future.
The reworked p3 is: unbounded dma_fence_wait(), return
dma_fence_error() of the job fence, both callers release dst
pages and propagate, drm_dev_enter()/exit() still guarding the
submit window. I'll post it as v7 3/3 once the entity-lifetime
question Christian raised is settled — separate reply on that
thread.
Thanks,
Felix
Regards,
Olivier