Re: [PATCH v9 4/6] drm/i915: Interrupt driven fences

Tvrtko Ursulin
2016-06-07T12:19:20Z

On 07/06/16 13:02, Maarten Lankhorst wrote:
> Op 02-06-16 om 15:25 schreef Tvrtko Ursulin:

[snip]

>>> + return;
>>> +
>>> + if (!fence_locked)
>>> + spin_lock_irqsave(&engine->fence_lock, flags);
>>
>> Not called from hard irq context so can be just spin_lock_irq.
>>
>> But if you agree to go with the tasklet it would then be spin_lock_bh.
> fence is always spin_lock_irq, if this requires _bh then it can't go into the tasklet.

No if fence API requires the _irq versions then it is fine, they
supersede the _bh variants.

Also it doesn't have to use the tasklet, I was just suggesting it as
lighter weight for lower latency since nothing seems to need
process/sleeping context anyway.

Main thing is that signaling is not serialized across engines by a
single worker.

Regards,

Tvrtko

P.S. Please try to put newlines between quoted text and your replies? It
will be easier to find your comments that way.