[PATCH RFC 05/24] Revert "drm: Nerf the preclose callback for modern drivers"
Qiang Yu
yuq825 at gmail.com
Tue May 22 01:04:17 UTC 2018
On Tue, May 22, 2018 at 3:37 AM, Eric Anholt <eric at anholt.net> wrote:
> Qiang Yu <yuq825 at gmail.com> writes:
>
>> This reverts commit 45c3d213a400c952ab7119f394c5293bb6877e6b.
>>
>> lima driver need preclose to wait all task in the context
>> created within closing file to finish before free all the
>> buffer object. Otherwise pending tesk may fail and get
>> noisy MMU fault message.
>>
>> Move this wait to each buffer object free function can
>> achieve the same result but some buffer object is shared
>> with other file context, but we only want to wait the
>> closing file context's tasks. So the implementation is
>> not that straight forword compared to the preclose one.
>
> You should just separate your MMU structures from drm_file, and have
> drm_file and the jobs using it keep a reference on them. This is what
> I've done in V3D as well.
It's not the VM/MMU struct that causes this problem, it's each buffer
object that gets freed before task is done (postclose is after buffer free).
If you mean I should keep reference of all buffers for tasks, that's not
as simple as just waiting task done before free buffers.
Regards,
Qiang
More information about the dri-devel
mailing list