[Intel-gfx] Time for execbuf3 ?

Maarten Lankhorst maarten.lankhorst at linux.intel.com
Thu Mar 21 14:11:11 UTC 2019


Op 19-03-2019 om 18:20 schreef Chris Wilson:
> Quoting Lionel Landwerlin (2019-03-19 16:39:52)
>> Hi all,
>>
>> There are couple of extensions coming up for our userspace drivers (anv/i965)
>> where we need to add additional parameters to execbuf :
>>
>>     - VK_KHR_timeline_semaphore : supplying u64 points together with syncobjs
>>     [1]
>>     - a non public piece of work related to performance counters [2] :
>>     supplying a performance configuration ID to reconfigure the performance HW
>>
>>
>> Recently some discussions on IRC also highlighted the need for better reporting
>> of execbuf failure.
>> We have a number of bugs where execbuf fails after a number of hours running an
>> application or some random conditions and it's almost impossible to figure out
>> where the problem lies.
>> Having a way for i915 to report what validation the input parameters actually
>> fail would more helpful than EINVAL.
>>
>> Some of the virtual engine stuff could also fit in there but maybe the timeline
>> is too tight for that.
>>
>> We've added a i915_query mechanism that is easily extendable and after exposing
>> topology, it seems to be useful for adding other types of queries (engine
>> discovery, memory regions and the series in [2] also exposes performance query
>> configuration data).
>>
>> I would really like to see a similar mechanism for an execbuf3.
>> How can we help getting started in that direction?
>> Do people have a better idea?
> https://cgit.freedesktop.org/~ickle/linux-2.6/commit/?h=execbuf3&id=11929f5262aa24ae7a80cf797c2d088eceeb6421
> -Chris
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Hey,

dma_fence_set_error() didn't accept 0 for a reason. This way if multiple places call
dma_fence_set_error we won't accidentally swallow an error if 1 sets it to 0 and
other to an error.

So just put it in an if (err) guard before calling. :)

~Maarten



More information about the Intel-gfx mailing list