Op 11-01-16 om 20:06 schreef John Harrison:
> On 08/01/2016 22:08, Chris Wilson wrote:
>> On Fri, Jan 08, 2016 at 06:47:25PM +0000, john.c.harri...@intel.com wrote:
>>> From: John Harrison <john.c.harri...@intel.com>
>>>
>>> The request structure is reference counted. When the count reached
>>> zero, the request was immediately freed and all associated objects
>>> were unrefereced/unallocated. This meant that the driver mutex lock
>>> must be held at the point where the count reaches zero. This was fine
>>> while all references were held internally to the driver. However, the
>>> plan is to allow the underlying fence object (and hence the request
>>> itself) to be returned to other drivers and to userland. External
>>> users cannot be expected to acquire a driver private mutex lock.
>> It's a trivial issue to fix to enable freeing requests without holding the
>> struct_mutex. You don't need to even add any new lists, delayed freeing
>> mechanisms and whotnot.
>> -Chris
>>
>
> As the driver stands, it is not trivial to free a request without holding the 
> mutex. It does things like unpinning buffers, freeing up contexts (which is a 
> whole other bundle of complication), releasing IRQs. It may be possible to 
> re-organise things to make those operations safe to do without the mutex but 
> it certainly does not look trivial!
Those things could be done as soon as the fence is signaled, doing it on free() 
is slightly too late..

~Maarten
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to