[Intel-gfx] [PATCH 7/7] drm/i915/gem: Acquire all vma/objects under reservation_ww_class

Christian König christian.koenig at amd.com
Thu Jun 25 15:47:09 UTC 2020


Am 25.06.20 um 17:10 schrieb Chris Wilson:
> We have the DAG of fences, we can use that information to avoid adding
> an implicit coupling between execution contexts.

No, we can't. And it sounds like you still have not understood the 
underlying problem.

See this has nothing to do with the fences itself or their DAG.

When you depend on userspace to do another submission so your fence can 
start processing you end up depending on whatever userspace does.

This in turn means when userspace calls a system call (or does page 
fault) it is possible that this ends up in the reclaim code path.


And while we want to avoid it both Daniel and I already discussed this 
multiple times and we agree it is still a must have to be able to do 
fence waits in the reclaim code path.

So what happens is that you have a dependency between fence submission 
-> userspace -> reclaim path -> fence submission. And that is a circle 
dependency, no matter what your DAG looks like.


In other words this whole approach does not work, is a clear NAK and I 
can only advise Dave to *not* merge it.

Regards,
Christian.


More information about the Intel-gfx mailing list