DPDK patches and discussions
 help / color / mirror / Atom feed
From: Jie Hai <haijie1@huawei.com>
To: Harman Kalra <hkalra@marvell.com>, "dev@dpdk.org" <dev@dpdk.org>,
	Chengwen Feng <fengchengwen@huawei.com>,
	Lijun Ou <oulijun@huawei.com>,
	Thomas Monjalon <thomas@monjalon.net>,
	Ferruh Yigit <ferruh.yigit@intel.com>,
	Konstantin Ananyev
	<"konstantin.v.ananyev@yandex.rukonstantin.ananyev"@huawei.com>
Cc: "lihuisong@huawei.com" <lihuisong@huawei.com>
Subject: Re: [EXT] [PATCH 27/36] net/octeontx: fix Rx and Tx queue state
Date: Thu, 2 Nov 2023 20:34:07 +0800	[thread overview]
Message-ID: <fca99781-b140-c672-3e57-9bafa552f176@huawei.com> (raw)
In-Reply-To: <BN9PR18MB4204DD7E1B327D20CDE8A8D3C5A6A@BN9PR18MB4204.namprd18.prod.outlook.com>

On 2023/11/2 17:59, Harman Kalra wrote:
> Hi Jie,
> 
> What issue did you observe which the following patch resolves? Can you please provide steps.
> Because we are setting the respective queue state in octeontx_dev_tx_queue_start/stop() ethdev_ops
> 
> Thanks
> Harman
> 
Hi, Harman,

If dev_start are called, all queues except for the deferred one should 
forward packets.

I have not tested for this driver, please try the following steps to see 
if there is any problem.

For the original question, please see commit:
37b68fa1445c app/testpmd: fix primary process not polling all queues applied

If applied this patch without drivers reporting their queue state in
dev_start and dev_stop ops, perform the following opertation:

step1: Start the testpmd app.
     dpdk-testpmd -a 0000:35:00.0 -l 0-3 -- -i --rxq=10 --txq=10

step2: Perform the following steps and send traffic. As expected,
queue 7 does not send or receive packets, and other queues do.
     port 0 rxq 7 stop
     port 0 txq 7 stop
     set fwd mac
     start

step3: Perform the following steps and send traffic. All queues
are expected to send and receive packets normally, but that's not
the case for queue 7. The queue may be enabled on hardware, but
not allowed to participate in forwarding in app level for the wrong state.
     stop
     port stop all
     port start all
     start
     show port xstats all

If drivers support checking queue state by command 'show rxq info 0 7'
  and 'show txq info 0 7', we see queue 7 is stopped as other queues are
started. That makes queue 7 not forward.

Please refer to
https://inbox.dpdk.org/dev/20230721160422.3848154-1-ferruh.yigit@amd.com/

and

https://inbox.dpdk.org/dev/20230928074305.2991100-9-haijie1@huawei.com/.

Thanks,
Jie Hai

>> -----Original Message-----
>> From: Jie Hai <haijie1@huawei.com>
>> Sent: Friday, September 8, 2023 4:59 PM
>> To: dev@dpdk.org; Harman Kalra <hkalra@marvell.com>; Chengwen Feng
>> <fengchengwen@huawei.com>; Lijun Ou <oulijun@huawei.com>; Thomas
>> Monjalon <thomas@monjalon.net>; Ferruh Yigit <ferruh.yigit@intel.com>;
>> Konstantin Ananyev
>> <"konstantin.v.ananyev@yandex.rukonstantin.ananyev"@huawei.com>
>> Cc: haijie1@huawei.com; lihuisong@huawei.com
>> Subject: [EXT] [PATCH 27/36] net/octeontx: fix Rx and Tx queue state
>>
>> External Email
>>
>> ----------------------------------------------------------------------
>> The DPDK framework reports the queue state, which is stored in
>> dev->data->tx_queue_state and dev->data->rx_queue_state. The
>> state is maintained by the driver. Users may determine whether a queue
>> participates in packet forwarding based on the state.
>> Therefore, the driver needs to modify the queue state in time according to
>> the actual situation.
>>
>> Fixes: 9ad9ff476cac ("ethdev: add queue state in queried queue
>> information")
>> Cc: stable@dpdk.org
>>
>> Signed-off-by: Jie Hai <haijie1@huawei.com>
>> ---
>>   drivers/net/octeontx/octeontx_ethdev.c | 11 +++++++++++
>>   1 file changed, 11 insertions(+)
>>
>> diff --git a/drivers/net/octeontx/octeontx_ethdev.c
>> b/drivers/net/octeontx/octeontx_ethdev.c
>> index a6ae51a42c4e..2a8378a33ea2 100644
>> --- a/drivers/net/octeontx/octeontx_ethdev.c
>> +++ b/drivers/net/octeontx/octeontx_ethdev.c
>> @@ -732,6 +732,11 @@ octeontx_dev_start(struct rte_eth_dev *dev)
>>   	}
>>
>>   	/* Success */
>> +	for (i = 0; i < dev->data->nb_rx_queues; i++)
>> +		dev->data->rx_queue_state[i] =
>> RTE_ETH_QUEUE_STATE_STARTED;
>> +	for (i = 0; i < dev->data->nb_tx_queues; i++)
>> +		dev->data->tx_queue_state[i] =
>> RTE_ETH_QUEUE_STATE_STARTED;
>> +
>>   	return ret;
>>
>>   pki_port_stop_error:
>> @@ -746,6 +751,7 @@ static int
>>   octeontx_dev_stop(struct rte_eth_dev *dev)  {
>>   	struct octeontx_nic *nic = octeontx_pmd_priv(dev);
>> +	uint16_t i;
>>   	int ret;
>>
>>   	PMD_INIT_FUNC_TRACE();
>> @@ -772,6 +778,11 @@ octeontx_dev_stop(struct rte_eth_dev *dev)
>>   		return ret;
>>   	}
>>
>> +	for (i = 0; i < dev->data->nb_rx_queues; i++)
>> +		dev->data->rx_queue_state[i] =
>> RTE_ETH_QUEUE_STATE_STOPPED;
>> +	for (i = 0; i < dev->data->nb_tx_queues; i++)
>> +		dev->data->tx_queue_state[i] =
>> RTE_ETH_QUEUE_STATE_STOPPED;
>> +
>>   	return 0;
>>   }
>>
>> --
>> 2.30.0
> 
> .

  reply	other threads:[~2023-11-02 12:34 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-08 11:28 [PATCH 00/36] " Jie Hai
2023-09-08 11:28 ` [PATCH 01/36] net/axgbe: " Jie Hai
2023-09-08 11:28 ` [PATCH 02/36] net/af_packet: " Jie Hai
2023-09-08 11:28 ` [PATCH 03/36] net/af_xdp: " Jie Hai
2023-09-08 11:28 ` [PATCH 04/36] net/avp: " Jie Hai
2023-09-08 11:28 ` [PATCH 05/36] net/bnx2x: " Jie Hai
2023-09-08 11:28 ` [PATCH 06/36] net/bnxt: " Jie Hai
2023-09-08 11:28 ` [PATCH 07/36] net/bonding: " Jie Hai
2023-09-08 11:28 ` [PATCH 08/36] net/cxgbe: " Jie Hai
2023-09-08 11:28 ` [PATCH 09/36] net/dpaa: " Jie Hai
2023-09-16 10:07   ` Hemant Agrawal
2023-09-08 11:28 ` [PATCH 10/36] net/dpaa2: " Jie Hai
2023-09-16 10:07   ` Hemant Agrawal
2023-09-08 11:28 ` [PATCH 11/36] net/e1000: " Jie Hai
2023-09-08 11:28 ` [PATCH 12/36] net/ena: " Jie Hai
2023-09-08 11:28 ` [PATCH 13/36] net/enetc: " Jie Hai
2023-09-08 11:28 ` [PATCH 14/36] net/enic: " Jie Hai
2023-09-08 11:28 ` [PATCH 15/36] net/hinic: " Jie Hai
2023-09-08 11:28 ` [PATCH 16/36] net/ipn3ke: " Jie Hai
2023-09-10  2:56   ` Xu, Rosen
2023-09-08 11:28 ` [PATCH 17/36] net/memif: " Jie Hai
2023-09-08 11:28 ` [PATCH 18/36] net/mana: " Jie Hai
2023-09-08 11:28 ` [PATCH 19/36] net/mlx4: " Jie Hai
2023-09-08 11:28 ` [PATCH 20/36] net/mvneta: " Jie Hai
2023-09-08 11:28 ` [PATCH 21/36] net/mvpp2: " Jie Hai
2023-09-08 11:28 ` [PATCH 22/36] net/netvsc: " Jie Hai
2023-09-08 11:28 ` [PATCH 23/36] net/nfp: " Jie Hai
2023-09-11  1:45   ` Chaoyong He
2023-09-08 11:28 ` [PATCH 24/36] net/ngbe: " Jie Hai
2023-09-08 11:28 ` [PATCH 25/36] net/null: " Jie Hai
2023-09-08 11:28 ` [PATCH 26/36] net/octeon_ep: " Jie Hai
2023-09-08 11:28 ` [PATCH 27/36] net/octeontx: " Jie Hai
2023-11-02  9:59   ` [EXT] " Harman Kalra
2023-11-02 12:34     ` Jie Hai [this message]
2023-09-08 11:28 ` [PATCH 28/36] net/pfe: " Jie Hai
2023-09-08 11:28 ` [PATCH 29/36] net/ring: " Jie Hai
2023-09-08 11:28 ` [PATCH 30/36] net/sfc: " Jie Hai
2023-09-08 12:01   ` Andrew Rybchenko
2023-09-12  2:39     ` Jie Hai
2023-09-08 11:28 ` [PATCH 31/36] net/softnic: " Jie Hai
2023-09-18 11:24   ` Dumitrescu, Cristian
2023-09-08 11:28 ` [PATCH 32/36] net/txgbe: " Jie Hai
2023-09-08 11:28 ` [PATCH 33/36] net/vhost: " Jie Hai
2023-09-08 11:28 ` [PATCH 34/36] net/virtio: " Jie Hai
2023-09-08 11:29 ` [PATCH 35/36] net/vmxnet3: " Jie Hai
2023-09-08 11:29 ` [PATCH 36/36] app/testpmd: fix primary process not polling all queues Jie Hai
2023-09-08 11:50 ` [PATCH 00/36] fix Rx and Tx queue state David Marchand
2023-09-18 16:54   ` Ferruh Yigit
2023-09-22  2:41     ` Jie Hai
2023-09-22  6:41       ` David Marchand
2023-09-26 13:59         ` Jie Hai
2023-09-28 12:51         ` Ferruh Yigit
2023-09-28  7:42 ` [PATCH v2 0/8] " Jie Hai
2023-09-28  7:42   ` [PATCH v2 1/8] lib/ethdev: update Rx and Tx queue status Jie Hai
2023-09-28  9:24     ` lihuisong (C)
2023-09-28 13:15     ` Ferruh Yigit
2023-10-07  8:36       ` Jie Hai
2023-10-16 11:23         ` Ferruh Yigit
2023-09-28  7:42   ` [PATCH v2 2/8] net/cpfl: support getting queue information Jie Hai
2023-10-01 16:04     ` Ali Alnubani
2023-09-28  7:43   ` [PATCH v2 3/8] net/enetc: save deferred start configuratin for queues Jie Hai
2023-09-28  7:43   ` [PATCH v2 4/8] net/enetc: support getting queue information Jie Hai
2023-09-28  7:43   ` [PATCH v2 5/8] net/failsafe: " Jie Hai
2023-09-28  7:43   ` [PATCH v2 6/8] net/fm10k: " Jie Hai
2023-09-28  7:43   ` [PATCH v2 7/8] net/idpf: " Jie Hai
2023-09-28  7:43   ` [PATCH v2 8/8] app/testpmd: fix primary process not polling all queues Jie Hai
2023-10-01 16:08   ` [PATCH v2 0/8] fix Rx and Tx queue state Ali Alnubani
2023-10-16 11:51 ` [PATCH 00/36] " Ferruh Yigit
2023-10-16 12:01   ` Ferruh Yigit
2023-10-17 14:11   ` Thomas Monjalon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=fca99781-b140-c672-3e57-9bafa552f176@huawei.com \
    --to=haijie1@huawei.com \
    --cc="konstantin.v.ananyev@yandex.rukonstantin.ananyev"@huawei.com \
    --cc=dev@dpdk.org \
    --cc=fengchengwen@huawei.com \
    --cc=ferruh.yigit@intel.com \
    --cc=hkalra@marvell.com \
    --cc=lihuisong@huawei.com \
    --cc=oulijun@huawei.com \
    --cc=thomas@monjalon.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).