On 09/20/2017 04:03 PM, Leon Romanovsky wrote: > On Wed, Sep 20, 2017 at 01:58:11PM +0200, Ursula Braun wrote: >> The number of outstanding work requests is limited. If all work >> requests are in use, tx processing is postponed to another scheduling >> of the tx worker. Switch to a delayed worker to have a gap for tx >> completion queue events before the next retry. >> > > How will delay prevent and protect the resource exhausting? > > Thanks > SMC runs with a fixed number of in-flight work requests per QP (constant SMC_WR_BUF_CNT) to prevent resource exhausting. If all work requests are currently in use, sending of another work request has to wait till some outstanding work request is confirmed via send completion queue. If sending is done in a context which is not allowed to wait, the tx_worker is scheduled instead. With this patch a small delay is added to avoid too many unsuccessful send retries due to a still ongoing "all work requests in use" condition.
Attachment:
0xC5ED6645.asc
Description: application/pgp-keys
Attachment:
signature.asc
Description: OpenPGP digital signature