Re: [RFC 26/29] dma-buf/fence: remove pointless fence_timeline_signal at destroy phase

From: Tom Cherry
Date: Tue Feb 09 2016 - 18:01:08 EST


On Fri, Jan 15, 2016 at 3:42 PM, Greg Hackmann <ghackmann@xxxxxxxxxx> wrote:
> On 01/15/2016 10:02 AM, Gustavo Padovan wrote:
>>
>> Patches 27 and 28 are attempt to fix that. I assumed that if some code is
>> calling fence_timeline_destroy() it wants to stop everything so I
>> worked on a solution that stops any waiter and allows the timeline to be
>> destroyed.
>>
>> No one is using fence_timeline_destroy() in mainline now, so it is
>> definately a behaviour we can discuss.
>>
>> Gustavo
>>
>
> +Tom Cherry and Dmitry Torokhov recently discovered that this was broken by
> the refactoring of Android sync on top of dma-buf fences.
>
> Tom and Dmitry, did you send the proposed fix upstream?

There was a similar issue that I had originally thought to be related
to fence_timeline_destroy() but was actually related to
sync_fence_free(). Dmitry sent the patch upstream at
https://lkml.org/lkml/2015/12/14/953, but it does not look like it has
received any feedback.

We saw real panics without this patch. I didn't see this patch or any
similar changes in the destaging commits, and I would recommend it be
looked at while destaging this driver.

Tom