From: "lihuisong (C)" <lihuisong@huawei.com>
To: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>,
<peng1x.zhang@intel.com>, <dev@dpdk.org>
Cc: <aman.deep.singh@intel.com>, <yuying.zhang@intel.com>, <stable@dpdk.org>
Subject: Re: [PATCH] app/testpmd: fix secondary process cannot dump packet
Date: Wed, 29 Jun 2022 10:55:03 +0800 [thread overview]
Message-ID: <c9a3085a-fe90-3d0a-7248-a6aae5adabfd@huawei.com> (raw)
In-Reply-To: <5bd19b16-f878-98fe-e1ea-d992c1ffcaa7@oktetlabs.ru>
在 2022/6/23 20:10, Andrew Rybchenko 写道:
> On 6/23/22 21:15, peng1x.zhang@intel.com wrote:
>> From: Peng Zhang <peng1x.zhang@intel.com>
>>
>> The origin design is whether testpmd is primary or not, if state of
>> receive queue is stop, then packets will not be dumped for show.
>> While to secondary process, receive queue will not be set up, and state
>> will still be stop even if testpmd is started. So packets of stated
>> secondary process cannot be dumped for show.
>>
>> The current design is to secondary process state of queue will be set
>> to start after testpmd is started. Then packets of started secondary
>> process can be dumped for show.
>>
>> Fixes: a550baf24af9 ("app/testpmd: support multi-process")
>> Cc: stable@dpdk.org
>>
>> Signed-off-by: Peng Zhang <peng1x.zhang@intel.com>
>> ---
>> app/test-pmd/testpmd.c | 12 ++++++++++++
>> 1 file changed, 12 insertions(+)
>>
>> diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
>> index 205d98ee3d..93ba7e7c9b 100644
>> --- a/app/test-pmd/testpmd.c
>> +++ b/app/test-pmd/testpmd.c
>> @@ -3007,6 +3007,18 @@ start_port(portid_t pid)
>> if (setup_hairpin_queues(pi, p_pi, cnt_pi) != 0)
>> return -1;
>> }
>> +
>> + if (port->need_reconfig_queues > 0 && !is_proc_primary()) {
>> + struct rte_eth_rxconf *rx_conf;
>> + for (qi = 0; qi < nb_rxq; qi++) {
>> + rx_conf = &(port->rxq[qi].conf);
>> + ports[pi].rxq[qi].state =
>> + rx_conf->rx_deferred_start ?
>> + RTE_ETH_QUEUE_STATE_STOPPED :
>> + RTE_ETH_QUEUE_STATE_STARTED;
>
> I'm not sure why it is correct to assume that deferred queue is
> not yet started.
+1.
We should also consider whether the queue state can be changed in secondary.
The 'rx_conf->rx_deferred_start' is the data in secondary.
Why not use 'dev->data->rx_queue_state[]'.
In fact, the issue you memtioned was introduced the following patch:
Fixes: 3c4426db54fc ("app/testpmd: do not poll stopped queues")
The root cause of this issue is that the default value of Rx/Tx queue state
maintained by testpmd is 'RTE_ETH_QUEUE_STATE_STOPPED'. As a result,
secondary doesn't start polling thread to receive packets when start packet
forwarding. And now, secondary cannot receive and send any packets.
Could you fix it together?
>
>> + }
>> + }
>> +
>> configure_rxtx_dump_callbacks(verbose_level);
>> if (clear_ptypes) {
>> diag = rte_eth_dev_set_ptypes(pi, RTE_PTYPE_UNKNOWN,
>
> .
next prev parent reply other threads:[~2022-06-29 2:55 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-23 18:15 [PATCH] app/testpmd: fix secondary process cannot dump packet peng1x.zhang
2022-06-23 12:10 ` Andrew Rybchenko
2022-06-29 2:55 ` lihuisong (C) [this message]
2022-07-01 11:36 ` Zhang, Peng1X
2022-07-04 2:36 ` lihuisong (C)
2022-07-04 5:28 ` Dmitry Kozlyuk
2022-07-05 10:12 ` Zhang, Peng1X
2022-07-06 2:00 ` lihuisong (C)
2022-07-06 13:40 ` Andrew Rybchenko
2022-06-27 4:53 ` Zhang, Yuying
2022-07-01 9:21 ` Zhang, Yuying
2022-08-19 10:09 ` [PATCH v2] app/testpmd: fix incorrect queues state of secondary process peng1x.zhang
2022-08-24 18:21 ` Singh, Aman Deep
2022-08-26 7:47 ` Zhang, Peng1X
2022-09-06 14:53 ` [PATCH v3] " Peng Zhang
2022-09-07 1:53 ` lihuisong (C)
2022-09-10 9:21 ` Zhang, Peng1X
2022-09-13 1:26 ` lihuisong (C)
2022-10-17 8:05 ` Andrew Rybchenko
2022-09-29 1:58 ` Zhou, YidingX
2022-10-13 3:01 ` Zhou, YidingX
2022-10-13 3:33 ` Stephen Hemminger
2022-10-14 10:11 ` Zhou, YidingX
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=c9a3085a-fe90-3d0a-7248-a6aae5adabfd@huawei.com \
--to=lihuisong@huawei.com \
--cc=aman.deep.singh@intel.com \
--cc=andrew.rybchenko@oktetlabs.ru \
--cc=dev@dpdk.org \
--cc=peng1x.zhang@intel.com \
--cc=stable@dpdk.org \
--cc=yuying.zhang@intel.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.