net/gve : Update EOP bit in txd rte_mbuf chain

Message ID 1722443901-2400194-1-git-send-email-tathagat.dpdk@gmail.com (mailing list archive)
State Superseded, archived
Delegated to: Ferruh Yigit
Headers
Series net/gve : Update EOP bit in txd rte_mbuf chain |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/loongarch-compilation success Compilation OK
ci/loongarch-unit-testing success Unit Testing PASS
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/github-robot: build success github build: passed
ci/intel-Functional success Functional PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-marvell-Functional success Functional Testing PASS
ci/iol-abi-testing success Testing PASS
ci/iol-unit-arm64-testing success Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-unit-amd64-testing success Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-compile-amd64-testing success Testing PASS
ci/iol-compile-arm64-testing success Testing PASS
ci/iol-sample-apps-testing success Testing PASS

Commit Message

Tathagat Priyadarshi July 31, 2024, 4:38 p.m. UTC
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

Joshua Washington July 31, 2024, 8:30 p.m. UTC | #1
Unaddressed
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.
  
Tathagat Priyadarshi Aug. 1, 2024, 10:23 a.m. UTC | #2
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.
  
Ferruh Yigit Aug. 1, 2024, 11:16 a.m. UTC | #3
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>
```
  
Joshua Washington Aug. 1, 2024, 4:24 p.m. UTC | #4
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.
  
Tathagat Priyadarshi Aug. 1, 2024, 5:50 p.m. UTC | #5
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.
  

Patch

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;
 
 			/* size of desc_ring and sw_ring could be different */
 			tx_id = (tx_id + 1) & mask;