net/gve : Update EOP bit in txd rte_mbuf chain
Checks
Commit Message
The EOP bit was not set for all the packets in mbuf chain
causing packet transmission stalls for packets split across
mbuf in chain.
Signed-off-by: Tathagat Priyadarshi <tathagat.dpdk@gmail.com>
Signed-off-by: Varun Lakkur Ambaji Rao <varun.la@gmail.com>
Fixes: 4022f99 ("net/gve: support basic Tx data path for DQO")
---
drivers/net/gve/gve_tx_dqo.c | 1 +
1 file changed, 1 insertion(+)
Comments
On Wed, Jul 31, 2024, 09:37 Tathagat Priyadarshi
<tathagat.dpdk@gmail.com> wrote:
>
> The EOP bit was not set for all the packets in mbuf chain
> causing packet transmission stalls for packets split across
> mbuf in chain.
>
> Signed-off-by: Tathagat Priyadarshi <tathagat.dpdk@gmail.com>
> Signed-off-by: Varun Lakkur Ambaji Rao <varun.la@gmail.com>
>
> Fixes: 4022f99 ("net/gve: support basic Tx data path for DQO")
> ---
> drivers/net/gve/gve_tx_dqo.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/net/gve/gve_tx_dqo.c b/drivers/net/gve/gve_tx_dqo.c
> index a65e6aa..579b8d6 100644
> --- a/drivers/net/gve/gve_tx_dqo.c
> +++ b/drivers/net/gve/gve_tx_dqo.c
> @@ -126,6 +126,7 @@
> txd->pkt.dtype = GVE_TX_PKT_DESC_DTYPE_DQO;
> txd->pkt.compl_tag = rte_cpu_to_le_16(first_sw_id);
> txd->pkt.buf_size = RTE_MIN(tx_pkt->data_len, GVE_TX_MAX_BUF_SIZE_DQO);
> + txd->pkt.end_of_packet = 0;
Please also update checksum offload for each mbuf.
>
>
> /* size of desc_ring and sw_ring could be different */
> tx_id = (tx_id + 1) & mask;
> --
> 1.8.3.1
>
Thanks for all of the contributions! Let's try to get this applied to
stable release as well.
Hi Joshua,
We have addressed the checksum offload update for each mbuf in the
following patch (net/gve: Add support for TSO in DQO RDA).
https://patches.dpdk.org/project/dpdk/patch/1722507548-2401507-1-git-send-email-tathagat.dpdk@gmail.com/
Thanks a lot!
On Thu, Aug 1, 2024 at 2:00 AM Joshua Washington <joshwash@google.com> wrote:
>
> On Wed, Jul 31, 2024, 09:37 Tathagat Priyadarshi
> <tathagat.dpdk@gmail.com> wrote:
> >
> > The EOP bit was not set for all the packets in mbuf chain
> > causing packet transmission stalls for packets split across
> > mbuf in chain.
> >
> > Signed-off-by: Tathagat Priyadarshi <tathagat.dpdk@gmail.com>
> > Signed-off-by: Varun Lakkur Ambaji Rao <varun.la@gmail.com>
> >
> > Fixes: 4022f99 ("net/gve: support basic Tx data path for DQO")
> > ---
> > drivers/net/gve/gve_tx_dqo.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/net/gve/gve_tx_dqo.c b/drivers/net/gve/gve_tx_dqo.c
> > index a65e6aa..579b8d6 100644
> > --- a/drivers/net/gve/gve_tx_dqo.c
> > +++ b/drivers/net/gve/gve_tx_dqo.c
> > @@ -126,6 +126,7 @@
> > txd->pkt.dtype = GVE_TX_PKT_DESC_DTYPE_DQO;
> > txd->pkt.compl_tag = rte_cpu_to_le_16(first_sw_id);
> > txd->pkt.buf_size = RTE_MIN(tx_pkt->data_len, GVE_TX_MAX_BUF_SIZE_DQO);
> > + txd->pkt.end_of_packet = 0;
>
> Please also update checksum offload for each mbuf.
> >
> >
> > /* size of desc_ring and sw_ring could be different */
> > tx_id = (tx_id + 1) & mask;
> > --
> > 1.8.3.1
> >
>
> Thanks for all of the contributions! Let's try to get this applied to
> stable release as well.
On 7/31/2024 5:38 PM, Tathagat Priyadarshi wrote:
> The EOP bit was not set for all the packets in mbuf chain
> causing packet transmission stalls for packets split across
> mbuf in chain.
>
> Signed-off-by: Tathagat Priyadarshi <tathagat.dpdk@gmail.com>
> Signed-off-by: Varun Lakkur Ambaji Rao <varun.la@gmail.com>
>
> Fixes: 4022f99 ("net/gve: support basic Tx data path for DQO")
>
Hi Tathagat,
Can you please address issues reported from
'./devtools/check-git-log.sh' script?
And there is a request to backport to stable trees, please include
following tag:
Cc: stable@dpdk.org
And please use following order/syntax in commit log:
```
<commit log>
Fixes: 4022f99 ("net/gve: support basic Tx data path for DQO")
Cc: stable@dpdk.org
Signed-off-by: Tathagat Priyadarshi <tathagat.dpdk@gmail.com>
Signed-off-by: Varun Lakkur Ambaji Rao <varun.la@gmail.com>
```
Hi, can we try to serialize these patches? Let's fix the multidescriptor
packets issue present in the driver first (ensuring that the entire
descriptor is written each time). The TSO support is an entirely new
feature and should likely not be backported to stable releases.
Hi Josh,
Updated the patch
(https://patches.dpdk.org/project/dpdk/patch/1722534481-2405601-1-git-send-email-tathagat.dpdk@gmail.com/),
please ACK if it looks good.
Thanks!
On Thu, Aug 1, 2024 at 9:55 PM Joshua Washington <joshwash@google.com> wrote:
>
> Hi, can we try to serialize these patches? Let's fix the multidescriptor packets issue present in the driver first (ensuring that the entire descriptor is written each time). The TSO support is an entirely new feature and should likely not be backported to stable releases.
@@ -126,6 +126,7 @@
txd->pkt.dtype = GVE_TX_PKT_DESC_DTYPE_DQO;
txd->pkt.compl_tag = rte_cpu_to_le_16(first_sw_id);
txd->pkt.buf_size = RTE_MIN(tx_pkt->data_len, GVE_TX_MAX_BUF_SIZE_DQO);
+ txd->pkt.end_of_packet = 0;
/* size of desc_ring and sw_ring could be different */
tx_id = (tx_id + 1) & mask;