From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 18DB641CBA; Fri, 17 Feb 2023 07:00:28 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EB17840EE1; Fri, 17 Feb 2023 07:00:27 +0100 (CET) Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) by mails.dpdk.org (Postfix) with ESMTP id 4B78B40A8B for ; Fri, 17 Feb 2023 07:00:26 +0100 (CET) Received: by mail-pl1-f177.google.com with SMTP id b6so228297plg.11 for ; Thu, 16 Feb 2023 22:00:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1676613625; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=FW2FUwmsFKphYyQraH4F4EV2gOJH1zu2UAXhGta0weE=; b=bo2Fb4ipU8ZXX9Q/NFa89LdtY/1TVa8feHNBFmBW1sS/3rKhRHTOBX4ySrfanJRLPt tXI4Hae40uCROHY4SRSwH3QtayiKzbhh0mzJMTBXKEuFEU7M4zE/BQQLyzWIxFinvy9u mo1FBjMaqDaMiCwfVIpkvVqsTs43lpowKdIFPfPUvJ5EyQpU2jIhuOI5nje4sDsCDzNF ghTMkxpumwT/26CQnEemoDinwQpUuWDjbJXa4vJqsmPJ6A9u3MAtWZW1/+kPzWNgM4nk HtdBH/T6wggd+x6ain4aT6kGej2ROD/OsJkmbi3eC4dCpZu7POWNEEwy5flCvZpRzfVS TsIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1676613625; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=FW2FUwmsFKphYyQraH4F4EV2gOJH1zu2UAXhGta0weE=; b=XEUlx44TRTeYUGiHjg3g9dqlQQWLjayCN71gPH7eWnL9w4FKXnU4cay1AZOvE0M4VW QZg00bxC1NYnS2gVe0A2hqO61scR1CBtHNWIyR5XA84fEAXzHLpdQzSgl7eqqcTBo7EL nKn27mqw2ckEUyTdLAiPeltmPCoxwzfdyN+98JKsC5a+S14xZBmw6NnVIK0elTzoYz8v SE2u8f3PbhDsqMWexm1FFnJ0TG5E+ARzEvBJEDc55NzhJlgignizhhrDVsr0F40gb1vh YuXNBZhK6h/it9paSqQ3N7A+3iDiOtyMypXCyybyGw2sdNtbv4luK/ZTKhYJNNSRHkDg WqDA== X-Gm-Message-State: AO0yUKUSp/80kSj+6SUlTRhI2B/BKoj22yOCxf+nMqYrAACqQmqIRvc3 wu3DARcEMEIz5woe4Hl3Np1OQptDBr1UMWZQf6oh8vk6 X-Google-Smtp-Source: AK7set+6teG+EAoxDziU4rOl5tj/E1dDN114sxys14xsJeSRj7YIdzkHoykp4+4iM22x3OoQlHGCVMcLV+V2hU/uWGA= X-Received: by 2002:a17:902:d709:b0:19a:f556:e379 with SMTP id w9-20020a170902d70900b0019af556e379mr788782ply.15.1676613625405; Thu, 16 Feb 2023 22:00:25 -0800 (PST) MIME-Version: 1.0 References: <20230216115109.07067372@hermes.local> In-Reply-To: <20230216115109.07067372@hermes.local> From: Rajasekhar Pulluru Date: Fri, 17 Feb 2023 11:30:14 +0530 Message-ID: Subject: Re: Multiple Tx-Queues not working as expected To: stephen@networkplumber.org Cc: dev@dpdk.org Content-Type: multipart/alternative; boundary="00000000000091652b05f4df0718" X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org --00000000000091652b05f4df0718 Content-Type: text/plain; charset="UTF-8" Ok Stephen, thanks for the information, I can try that. One of the problems I see with single Tx Queue mode is that Ixia reports packet drops, though I confirmed with the help of counters (before invoking tx burst) that all packets are being sent-out. Dumping HW counters don't report any drops in TX. Is there a mechanism in DPDK to debug this? Thanks & Regards, Rajasekhar On Fri, Feb 17, 2023 at 1:21 AM Stephen Hemminger < stephen@networkplumber.org> wrote: > On Thu, 16 Feb 2023 23:40:27 +0530 > Rajasekhar Pulluru wrote: > > > Hi Team, > > > > I am trying to set-up 8 Tx-Queues (but only 1 Rx-Queue) and burst traffic > > out of different Tx-Queues from the same cpu core on an ixgbe nic (10G). > > Although transmitted packets reach the peer, reading the statistics > > indicates only the Tx-q[0] has non-zero packets and bytes count, the rest > > of the Tx-q[1] to Tx-q[7] all have zero packets and bytes count. > > > > I am following the below sequence. > > > > 1. configuration > > rte_eth_dev_configure(port-id, 1 /* only 1 rx-q */, 8 /* tx-queues */, > > &dev_conf /* memset of 0 on this dev_conf done */); > > > > 2. tx queue set-up > > struct rte_eth_dev_info dev_info; > > rte_eth_dev_info_get(port-id, &dev_info); > > > > struct rte_eth_txconf tx_conf; > > memcpy(&tx_conf, &dev_info.default_txconf, sizeof tx_conf); > > for(i=0; i<8; i++) { > > rte_eth_tx_queue_setup(port-id, i /* queue-id */, 1024 /* num_of_txdesc > */, > > numa_node, &tx_conf;) > > } > > > > 3. rx queue set-up > > rte_eth_rx_queue_setup(port-id, 0, 1024 /* num_of_rxdesc */, &rx_conf, > > mbuf_pool); > > > > 4. start the port > > rte_eth_dev_start(port-id); > > > > 5. call the below tx burst function with different queue-id (range 0 to > 7) > > every-time for every burst of new packets to be transmitted > > rte_eth_tx_burst(port-id, queue-id, pkts_burst, nb_pkts_burst); > > > > 6. read stats using rte_eth_xstats_get and verified that only the first > > tx-q has non-zero packets and bytes count, rest of the tx-q's have 0 > > packets and bytes count. > > > > What could be wrong here? Appreciate any help. > > > > Thanks & Regards, > > Rajasekhar > > ReplyForward > > Depending on the type of NIC, some share a signal completion channel > for both RX and TX. If the Rx channel is not polled, than transmit > completions > may not happen. > --00000000000091652b05f4df0718 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Ok Stephen, thanks for the information, I can try that.
One of the problems I see with single Tx Queue mode is tha= t Ixia reports packet drops, though I confirmed with the help of counters (= before invoking tx burst) that all packets are being sent-out. Dumping HW c= ounters don't report any drops in TX.=C2=A0
Is there a mechan= ism in DPDK to debug this?

Thanks & Regards,
Rajasekhar

On Fri, Feb 17, 2023 at 1:21 AM Stephen Hemminger = <stephen@networkplumber.or= g> wrote:
On Thu, 16 Feb 2023 23:40:27 +0530
Rajasekhar Pulluru <pullururajasekhar@gmail.com> wrote:

> Hi Team,
>
> I am trying to set-up 8 Tx-Queues (but only 1 Rx-Queue) and burst traf= fic
> out of different Tx-Queues from the same cpu core on an ixgbe nic (10G= ).
> Although transmitted packets reach the peer, reading the statistics > indicates only the Tx-q[0] has non-zero packets and bytes count, the r= est
> of the Tx-q[1] to Tx-q[7] all have zero packets and bytes count.
>
> I am following the below sequence.
>
> 1. configuration
> rte_eth_dev_configure(port-id, 1 /* only 1 rx-q */, 8 /* tx-queues */,=
> &dev_conf /* memset of 0 on this dev_conf done */);
>
> 2. tx queue set-up
> struct rte_eth_dev_info dev_info;
> rte_eth_dev_info_get(port-id, &dev_info);
>
> struct rte_eth_txconf tx_conf;
> memcpy(&tx_conf, &dev_info.default_txconf, sizeof tx_conf); > for(i=3D0; i<8; i++) {
> rte_eth_tx_queue_setup(port-id, i /* queue-id */, 1024 /* num_of_txdes= c */,
> numa_node, &tx_conf;)
> }
>
> 3. rx queue set-up
> rte_eth_rx_queue_setup(port-id, 0, 1024 /* num_of_rxdesc */, &rx_c= onf,
> mbuf_pool);
>
> 4. start the port
> rte_eth_dev_start(port-id);
>
> 5. call the below tx burst function with different queue-id (range 0 t= o 7)
> every-time for every burst of new packets to be transmitted
> rte_eth_tx_burst(port-id, queue-id, pkts_burst, nb_pkts_burst);
>
> 6. read stats using rte_eth_xstats_get and verified that only the firs= t
> tx-q has non-zero packets and bytes count, rest of the tx-q's have= 0
> packets and bytes count.
>
> What could be wrong here? Appreciate any help.
>
> Thanks & Regards,
> Rajasekhar
> ReplyForward

Depending on the type of NIC, some share a signal completion channel
for both RX and TX. If the Rx channel is not polled, than transmit completi= ons
may not happen.
--00000000000091652b05f4df0718--