Re: [RFC 1/1] drivers/dma/*: replace tasklets with workqueue

From: Allen Pais
Date: Tue May 31 2022 - 14:20:18 EST



>
> [note: something is wrong with your email client, your previous reply appears to
> be in HTML]
>
Sorry, fixed it.

>>> That is a good idea, lot of drivers are waiting for completion which can
>>> be signalled from hardirq, this would also reduce the hops we have and
>>> help improve latency a bit. On the downside, some controllers provide
>>> error information, which would need to be dealt with.
>>
>>
>> I am not an expert in dma subsystem, but by using completion from
>> Hardirq context be a concern? Especially with latency.
>
> I don't see how: to the task waiting for the completion, there should
> be no difference, and for the irq handler sending it, it just avoids
> a few cycles going into softirq context.

Thanks for clarification.

If I have understood it correctly, your suggestion is to move the current
Callback mechanism out to dmaengine as a generic helper function
And introduce completion in dma_async_tx_descriptor to handle what
Tasklets currently do.

Thanks.

>
>>> Yes that would be a very reasonable mechanism, thanks for the
>>> suggestions.
>>
>> I have started working on the idea of global softirq. A RFC should be ready
>> For review soon.
>
> Ok, thanks!
>
> Arnd