Re: [PATCH v4 0/6] dma-buf: Check status of enable-signaling bit on debug

Christian König
2022-09-15T16:05:45Z

Am 15.09.22 um 15:02 schrieb Yadav, Arvind:
>
> On 9/15/2022 5:37 PM, Christian König wrote:
>> Is that sufficient to allow running a desktop on amdgpu with the
>> extra check enabled? If yes that would be quite a milestone.
>>
> Yes, It is running on amdgpu with extra config enabled.

In this case I will start pushing the patches to drm-misc-next. I'm just
going to leave out the last one until the IGT tests are working as well.

>> What's left is checking the userspace IGT tests. Especially the
>> sync_file and drm_syncobj tests I would expect to have problems with
>> this extra check.
>>
> Yes, IGT test cases are failing

Yeah, as noted on the call please investigate.

This one is the real reason why I wanted somebody to look at this. My
suspicion is that we have missing calls to
dma_fence_enable_sw_signaling() in the drm_syncobj code.

Thanks,
Christian.

>
> ~Arvind
>
>> Thanks,
>> Christian.
>>
>> Am 14.09.22 um 18:43 schrieb Arvind Yadav:
>>> Fence signaling must be enabled to make sure that
>>> the dma_fence_is_signaled() function ever returns true.
>>> Since drivers and implementations sometimes mess this up,
>>> this ensures correct behaviour when DEBUG_WW_MUTEX_SLOWPATH
>>> is used during debugging.
>>> This should make any implementation bugs resulting in not
>>> signaled fences much more obvious.
>>>
>>> Arvind Yadav (6):
>>>    [PATCH v4 1/6] dma-buf: Remove the signaled bit status check
>>>    [PATCH v4 2/6] dma-buf: set signaling bit for the stub fence
>>>    [PATCH v4 3/6] dma-buf: Enable signaling on fence for selftests
>>>    [PATCH v4 4/6] dma-buf: dma_fence_wait must enable signaling
>>>    [PATCH v4 5/6] drm/sched: Use parent fence instead of finished
>>>    [PATCH v4 6/6] dma-buf: Check status of enable-signaling bit on
>>> debug
>>>
>>>   drivers/dma-buf/Kconfig                |  7 +++++++
>>>   drivers/dma-buf/dma-fence.c            | 16 ++++++++++------
>>>   drivers/dma-buf/st-dma-fence-chain.c   |  4 ++++
>>>   drivers/dma-buf/st-dma-fence-unwrap.c  | 22 ++++++++++++++++++++++
>>>   drivers/dma-buf/st-dma-fence.c         | 16 ++++++++++++++++
>>>   drivers/dma-buf/st-dma-resv.c          | 10 ++++++++++
>>>   drivers/gpu/drm/scheduler/sched_main.c |  4 ++--
>>>   include/linux/dma-fence.h              |  5 +++++
>>>   8 files changed, 76 insertions(+), 8 deletions(-)
>>>
>>