[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260113170948.1d6fbdaf@kernel.org>
Date: Tue, 13 Jan 2026 17:09:48 -0800
From: Jakub Kicinski <kuba@...nel.org>
To: Haiyang Zhang <haiyangz@...rosoft.com>
Cc: Haiyang Zhang <haiyangz@...ux.microsoft.com>,
"linux-hyperv@...r.kernel.org" <linux-hyperv@...r.kernel.org>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>, KY Srinivasan
<kys@...rosoft.com>, Wei Liu <wei.liu@...nel.org>, Dexuan Cui
<DECUI@...rosoft.com>, Long Li <longli@...rosoft.com>, Andrew Lunn
<andrew+netdev@...n.ch>, "David S. Miller" <davem@...emloft.net>, Eric
Dumazet <edumazet@...gle.com>, Paolo Abeni <pabeni@...hat.com>, Konstantin
Taranov <kotaranov@...rosoft.com>, Simon Horman <horms@...nel.org>, Erni
Sri Satya Vennela <ernis@...ux.microsoft.com>, Shradha Gupta
<shradhagupta@...ux.microsoft.com>, Saurabh Sengar
<ssengar@...ux.microsoft.com>, Aditya Garg
<gargaditya@...ux.microsoft.com>, Dipayaan Roy
<dipayanroy@...ux.microsoft.com>, Shiraz Saleem
<shirazsaleem@...rosoft.com>, "linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>, "linux-rdma@...r.kernel.org"
<linux-rdma@...r.kernel.org>, Paul Rosswurm <paulros@...rosoft.com>
Subject: Re: [EXTERNAL] Re: [PATCH V2,net-next, 1/2] net: mana: Add support
for coalesced RX packets on CQE
On Tue, 13 Jan 2026 15:13:24 +0000 Haiyang Zhang wrote:
> > > I get that. What is the logic for combining 4 packets into a single
> > > completion? How does it work? Your commit message mentions "regression
> > > on latency" - what is the bound on that regression?
> >
> > When we received CQE type CQE_RX_COALESCED_4, it's a coalesced CQE. And in
> > the CQE OOB, there is an array with 4 PPI elements, with each pkt's length:
> > oob->ppi[i].pkt_len.
> >
> > So we read the related WQE and the DMA buffers for the RX pkt payloads, up
> > to 4.
> > But, if the coalesced pkts <4, the pkt_len will be 0 after the last pkt,
> > so we know when to stop reading the WQEs.
>
> And, the coalescing can add up to 2 microseconds into one-way latency.
I am asking you how the _device_ (hypervisor?) decides when to coalesce
and when to send a partial CQE (<4 packets in 4 pkt CQE). You are using
the coalescing uAPI, so I'm trying to make sure this is the correct API.
CQE configuration can also be done via ringparam.
Powered by blists - more mailing lists