On 1/14/2020 2:14 AM, Herbert Xu wrote: > On Mon, Jan 13, 2020 at 09:48:11AM +0000, Iuliana Prodan wrote: >> >> Regarding the transfer request to crypto-engine: if sending all requests >> to crypto-engine, multibuffer tests, for non-backlogging requests fail >> after only 10 requests, since crypto-engine queue has 10 entries. > > That isn't right. The crypto engine should never refuse to accept > a request Crypto-engine accepts all request that have the backlog flag, the non-backlog are accepted till the configured limit (of 10). > unless the hardware queue is really full. Crypto-engine doesn't check the status of hardware queue. The non-backlog requests are dropped after 10 entries. > Perhaps the > crypto engine code needs to be fixed? To me, crypto-engine seems to be made for backlogged request, that's why I'm sending the non-backlog directly to CAAM. The implicit serialization of request in crypto-engine is the bottleneck. But, as I said before, I want to update crypto-engine to set queue length when initialize crypto-engine, and remove serialization of requests in crypto-engine by adding knowledge about the underlying hw accelerator (number of request that can be processed in parallel). I'll send a RFC with my proposal for crypto-engine enhancements. But, until then, I would like to have a backlogging solution in CAAM driver. Thanks, Iulia