Lockdep spalt on killing a processes

Andrey Grodzovsky andrey.grodzovsky at amd.com
Wed Oct 27 19:58:46 UTC 2021


On 2021-10-27 10:50 a.m., Christian König wrote:
> Am 27.10.21 um 16:47 schrieb Andrey Grodzovsky:
>>
>> On 2021-10-27 10:34 a.m., Christian König wrote:
>>> Am 27.10.21 um 16:27 schrieb Andrey Grodzovsky:
>>>> [SNIP]
>>>>>
>>>>>> Let me please know if I am still missing some point of yours.
>>>>>
>>>>> Well, I mean we need to be able to handle this for all drivers.
>>>>
>>>>
>>>> For sure, but as i said above in my opinion we need to change only 
>>>> for those drivers that don't use the _locked version.
>>>
>>> And that absolutely won't work.
>>>
>>> See the dma_fence is a contract between drivers, so you need the 
>>> same calling convention between all drivers.
>>>
>>> Either we always call the callback with the lock held or we always 
>>> call it without the lock, but sometimes like that and sometimes 
>>> otherwise won't work.
>>>
>>> Christian.
>>
>>
>> I am not sure I fully understand what problems this will cause but 
>> anyway, then we are back to irq_work. We cannot embed irq_work as 
>> union within dma_fenc's cb_list
>> because it's already reused as timestamp and as rcu head after the 
>> fence is signaled. So I will do it within drm_scheduler with single 
>> irq_work per drm_sched_entity
>> as we discussed before.
>
> That won't work either. We free up the entity after the cleanup 
> function. That's the reason we use the callback on the job in the 
> first place.


Yep, missed it.


>
> We could overlead the cb structure in the job though.


I guess, since no one else is using this member it after the cb executed.

Andrey


>
> Christian.
>
>>
>> Andrey
>>
>>
>>>
>>>>
>>>> Andrey
>>>
>


More information about the amd-gfx mailing list