Thread (8 messages) 8 messages, 5 authors, 2024-08-09

RE: [PATCH v2 net] net: mana: Fix doorbell out of order violation and avoid unnecessary doorbell rings

From: Long Li <longli@microsoft.com>
Date: 2024-08-09 15:19:28
Also in: linux-hyperv, linux-rdma, lkml, stable

Subject: Re: [PATCH v2 net] net: mana: Fix doorbell out of order violation and
avoid unnecessary doorbell rings

On Wed, Aug 07, 2024 at 04:17:06PM -0700, longli@linuxonhyperv.com
wrote:
quoted
From: Long Li <longli@microsoft.com>

After napi_complete_done() is called when NAPI is polling in the
current process context, another NAPI may be scheduled and start
running in softirq on another CPU and may ring the doorbell before the
current CPU does. When combined with unnecessary rings when there is
no need to arm the CQ, it triggers error paths in the hardware.

This patch fixes this by calling napi_complete_done() after doorbell
rings. It limits the number of unnecessary rings when there is no need
to arm. MANA hardware specifies that there must be one doorbell ring
every 8 CQ wraparounds. This driver guarantees one doorbell ring as
soon as the number of consumed CQEs exceeds 4 CQ wraparounds. In
pratical
nit: practical

     Flagged by checkpatch.pl --codespell

...
Thank you! Will fix it.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help