[PATCH 6/6] dma-fence: Store the timestamp in the same union as the cb_list

Koenig, Christian Christian.Koenig at amd.com
Sat Aug 17 15:31:59 UTC 2019


Am 17.08.19 um 17:27 schrieb Chris Wilson:
> Quoting Koenig, Christian (2019-08-17 16:20:12)
>> Am 17.08.19 um 16:47 schrieb Chris Wilson:
>>> diff --git a/drivers/dma-buf/dma-fence.c b/drivers/dma-buf/dma-fence.c
>>> index 89d96e3e6df6..2c21115b1a37 100644
>>> --- a/drivers/dma-buf/dma-fence.c
>>> +++ b/drivers/dma-buf/dma-fence.c
>>> @@ -129,6 +129,7 @@ EXPORT_SYMBOL(dma_fence_context_alloc);
>>>    int dma_fence_signal_locked(struct dma_fence *fence)
>>>    {
>>>        struct dma_fence_cb *cur, *tmp;
>>> +     struct list_head cb_list;
>>>    
>>>        lockdep_assert_held(fence->lock);
>>>    
>>> @@ -136,16 +137,16 @@ int dma_fence_signal_locked(struct dma_fence *fence)
>>>                                      &fence->flags)))
>>>                return -EINVAL;
>>>    
>>> +     /* Stash the cb_list before replacing it with the timestamp */
>>> +     list_replace(&fence->cb_list, &cb_list);
>> Stashing the timestamp instead is probably less bytes to modify.
> My thinking was to pass the timestamp to the notify callbacks, we need
> to stash the list and set the timestamp first.

I don't see much of a reason for callbacks to use the timestamp, they 
could just call ktime_get() and would most likely get the same or at 
least a very close by value.

> Nothing that I'm aware of uses the timestamp (just the sync file debug
> which weston was considering using at one point)... So I guess we don't
> care? But I would say we should do that as a separate step in case
> someone does.

Yeah, agree.

Christian.

> -Chris



More information about the dri-devel mailing list