DPDK usage discussions
 help / color / mirror / Atom feed
* iavf: rte_eth_stats_get() fails upon upgrade to 23.07.0
@ 2024-02-27 11:27 Isaac Boukris
  2024-02-27 14:28 ` Isaac Boukris
  0 siblings, 1 reply; 3+ messages in thread
From: Isaac Boukris @ 2024-02-27 11:27 UTC (permalink / raw)
  To: users

Hello,

This works fine with 23.03.0 but starting from 23.07.0 up to master it
fails as follows.

Initialization is ok:
EAL: Probe PCI driver: net_iavf (8086:154c) device: 0000:09:00.0 (socket -1)
iavf_set_rx_function(): request RXDID[1] in Queue[0] is legacy, set
rx_pkt_burst as legacy for all queues

telemetry.py /ethdev/link_status,0 | jq
  {
    "/ethdev/link_status": {
      "status": "UP",
      "speed": 40000,
      "duplex": "full-duplex"
    }
  }

But the following command hang and fail:
telemetry.py /ethdev/stats,0 | jq
telemetry.py /ethdev/xstats,0 | jq

On the logs I see:
iavf_execute_vf_cmd(): No response for cmd 15
iavf_query_stats(): fail to execute command OP_GET_STATS
iavf_dev_stats_get(): Get statistics failed

Any ideas?

Thanks!

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: iavf: rte_eth_stats_get() fails upon upgrade to 23.07.0
  2024-02-27 11:27 iavf: rte_eth_stats_get() fails upon upgrade to 23.07.0 Isaac Boukris
@ 2024-02-27 14:28 ` Isaac Boukris
  2024-02-27 19:24   ` Isaac Boukris
  0 siblings, 1 reply; 3+ messages in thread
From: Isaac Boukris @ 2024-02-27 14:28 UTC (permalink / raw)
  To: users, jingjing.wu, beilei.xing, wenzhuo.lu, qi.z.zhang

On Tue, Feb 27, 2024 at 1:27 PM Isaac Boukris <iboukris@gmail.com> wrote:
>
> Hello,
>
> This works fine with 23.03.0 but starting from 23.07.0 up to master it
> fails as follows.
>
> Initialization is ok:
> EAL: Probe PCI driver: net_iavf (8086:154c) device: 0000:09:00.0 (socket -1)
> iavf_set_rx_function(): request RXDID[1] in Queue[0] is legacy, set
> rx_pkt_burst as legacy for all queues
>
> telemetry.py /ethdev/link_status,0 | jq
>   {
>     "/ethdev/link_status": {
>       "status": "UP",
>       "speed": 40000,
>       "duplex": "full-duplex"
>     }
>   }
>
> But the following command hang and fail:
> telemetry.py /ethdev/stats,0 | jq
> telemetry.py /ethdev/xstats,0 | jq
>
> On the logs I see:
> iavf_execute_vf_cmd(): No response for cmd 15
> iavf_query_stats(): fail to execute command OP_GET_STATS
> iavf_dev_stats_get(): Get statistics failed

I did some git bisect and found the commit below, help appreciated!

5712bf9d6e14d0eaa7a07814d59351ffeb8e02ed is the first bad commit
commit 5712bf9d6e14d0eaa7a07814d59351ffeb8e02ed
Author: Wenzhuo Lu <wenzhuo.lu@intel.com>
Date:   Tue Apr 18 13:11:05 2023 +0800

    net/iavf: add Tx AVX2 offload path

    Add a specific path for TX AVX2.
    In this path, support the HW offload features, like,
    checksum insertion, VLAN insertion.
    This path is chosen automatically according to the
    configuration.

    'inline' is used, then the duplicate code is generated
    by the compiler.

    Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
    Acked-by: Qi Zhang <qi.z.zhang@intel.com>

 drivers/net/iavf/iavf_rxtx.c          | 33 +++++++++++++--------
 drivers/net/iavf/iavf_rxtx.h          |  2 ++
 drivers/net/iavf/iavf_rxtx_vec_avx2.c | 54 +++++++++++++++++++++++++----------
 3 files changed, 62 insertions(+), 27 deletions(-)

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: iavf: rte_eth_stats_get() fails upon upgrade to 23.07.0
  2024-02-27 14:28 ` Isaac Boukris
@ 2024-02-27 19:24   ` Isaac Boukris
  0 siblings, 0 replies; 3+ messages in thread
From: Isaac Boukris @ 2024-02-27 19:24 UTC (permalink / raw)
  To: users, jingjing.wu, beilei.xing, wenzhuo.lu, qi.z.zhang

On Tue, Feb 27, 2024 at 4:28 PM Isaac Boukris <iboukris@gmail.com> wrote:
>
> On Tue, Feb 27, 2024 at 1:27 PM Isaac Boukris <iboukris@gmail.com> wrote:
> >
> > Hello,
> >
> > This works fine with 23.03.0 but starting from 23.07.0 up to master it
> > fails as follows.
> >
> > Initialization is ok:
> > EAL: Probe PCI driver: net_iavf (8086:154c) device: 0000:09:00.0 (socket -1)
> > iavf_set_rx_function(): request RXDID[1] in Queue[0] is legacy, set
> > rx_pkt_burst as legacy for all queues
> >
> > telemetry.py /ethdev/link_status,0 | jq
> >   {
> >     "/ethdev/link_status": {
> >       "status": "UP",
> >       "speed": 40000,
> >       "duplex": "full-duplex"
> >     }
> >   }
> >
> > But the following command hang and fail:
> > telemetry.py /ethdev/stats,0 | jq
> > telemetry.py /ethdev/xstats,0 | jq
> >
> > On the logs I see:
> > iavf_execute_vf_cmd(): No response for cmd 15
> > iavf_query_stats(): fail to execute command OP_GET_STATS
> > iavf_dev_stats_get(): Get statistics failed
>
> I did some git bisect and found the commit below, help appreciated!
>
> 5712bf9d6e14d0eaa7a07814d59351ffeb8e02ed is the first bad commit
> commit 5712bf9d6e14d0eaa7a07814d59351ffeb8e02ed
> Author: Wenzhuo Lu <wenzhuo.lu@intel.com>
> Date:   Tue Apr 18 13:11:05 2023 +0800
>
>     net/iavf: add Tx AVX2 offload path
>
>     Add a specific path for TX AVX2.
>     In this path, support the HW offload features, like,
>     checksum insertion, VLAN insertion.
>     This path is chosen automatically according to the
>     configuration.
>
>     'inline' is used, then the duplicate code is generated
>     by the compiler.
>
>     Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
>     Acked-by: Qi Zhang <qi.z.zhang@intel.com>
>
>  drivers/net/iavf/iavf_rxtx.c          | 33 +++++++++++++--------
>  drivers/net/iavf/iavf_rxtx.h          |  2 ++
>  drivers/net/iavf/iavf_rxtx_vec_avx2.c | 54 +++++++++++++++++++++++++----------
>  3 files changed, 62 insertions(+), 27 deletions(-)

Notte that I was able to workaround it by forcing the old logic with:

diff --git a/drivers/net/iavf/iavf_rxtx.c b/drivers/net/iavf/iavf_rxtx.c
index f19aa14646..1537a5f19c 100644
--- a/drivers/net/iavf/iavf_rxtx.c
+++ b/drivers/net/iavf/iavf_rxtx.c
@@ -4003,6 +4003,8 @@ iavf_set_tx_function(struct rte_eth_dev *dev)
                        use_avx512 = true;
 #endif

+               if (!use_sse) use_avx2 = false;
+
                if (!use_sse && !use_avx2 && !use_avx512)
                        goto normal;

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-02-27 19:24 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-02-27 11:27 iavf: rte_eth_stats_get() fails upon upgrade to 23.07.0 Isaac Boukris
2024-02-27 14:28 ` Isaac Boukris
2024-02-27 19:24   ` Isaac Boukris

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).