> -----Original Message----- > From: Paolo Abeni <pabeni@xxxxxxxxxx> > Sent: Thursday, June 29, 2023 4:43 AM > To: longli@xxxxxxxxxxxxxxxxx; Jason Gunthorpe <jgg@xxxxxxxx>; Leon > Romanovsky <leon@xxxxxxxxxx>; Ajay Sharma <sharmaajay@xxxxxxxxxxxxx>; > Dexuan Cui <decui@xxxxxxxxxxxxx>; KY Srinivasan <kys@xxxxxxxxxxxxx>; > Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>; Wei Liu <wei.liu@xxxxxxxxxx>; > David S. Miller <davem@xxxxxxxxxxxxx>; Eric Dumazet > <edumazet@xxxxxxxxxx>; Jakub Kicinski <kuba@xxxxxxxxxx> > Cc: linux-rdma@xxxxxxxxxxxxxxx; linux-hyperv@xxxxxxxxxxxxxxx; > netdev@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Long Li > <longli@xxxxxxxxxxxxx>; stable@xxxxxxxxxxxxxxx > Subject: Re: [Patch v3] net: mana: Batch ringing RX queue doorbell on receiving > packets > > On Mon, 2023-06-26 at 16:57 -0700, longli@xxxxxxxxxxxxxxxxx wrote: > > From: Long Li <longli@xxxxxxxxxxxxx> > > > > It's inefficient to ring the doorbell page every time a WQE is posted to > > the received queue. Excessive MMIO writes result in CPU spending more > > time waiting on LOCK instructions (atomic operations), resulting in > > poor scaling performance. > > > > Move the code for ringing doorbell page to where after we have posted all > > WQEs to the receive queue during a callback from napi_poll(). > > > > With this change, tests showed an improvement from 120G/s to 160G/s on a > > 200G physical link, with 16 or 32 hardware queues. > > > > Tests showed no regression in network latency benchmarks on single > > connection. > > > > While we are making changes in this code path, change the code for > > ringing doorbell to set the WQE_COUNT to 0 for Receive Queue. The > > hardware specification specifies that it should set to 0. Although > > currently the hardware doesn't enforce the check, in the future releases > > it may do. > > > > Cc: stable@xxxxxxxxxxxxxxx > > Fixes: ca9c54d2d6a5 ("net: mana: Add a driver for Microsoft Azure Network > Adapter (MANA)") > > Uhmmm... this looks like a performance improvement to me, more suitable > for the net-next tree ?!? (Note that net-next is closed now). This web page shows the net-next is "open": http://vger.kernel.org/~davem/net-next.html Is this still the right place to check net-next status? - Haiyang