>-----Original Message-----
>From: Zhang, Yuying <yuying.zh...@intel.com>
>Sent: Wednesday, February 8, 2023 11:22 AM
>To: He, ShiyangX <shiyangx...@intel.com>
>Cc: dev@dpdk.org; Zhou, YidingX <yidingx.z...@intel.com>;
>sta...@dpdk.org; Singh, Aman Deep <aman.deep.si...@intel.com>; Burakov,
>Anatoly <anatoly.bura...@intel.com>; Li, Xiaoyun <xiaoyun...@intel.com>;
>Alvin Zhang <alvinx.zh...@intel.com>
>Subject: RE: [PATCH] app/testpmd: fix secondary process not forwarding
>
>Hi Shiyang,
>
>> -----Original Message-----
>> From: He, ShiyangX <shiyangx...@intel.com>
>> Sent: 2023年1月13日 17:08
>> To: He, ShiyangX <shiyangx...@intel.com>; Zhang, Yuying
>> <yuying.zh...@intel.com>
>> Cc: dev@dpdk.org; Zhou, YidingX <yidingx.z...@intel.com>;
>> sta...@dpdk.org; Singh, Aman Deep <aman.deep.si...@intel.com>;
>> Burakov, Anatoly <anatoly.bura...@intel.com>; Li, Xiaoyun
>> <xiaoyun...@intel.com>; Alvin Zhang <alvinx.zh...@intel.com>
>> Subject: RE: [PATCH] app/testpmd: fix secondary process not forwarding
>>
>> @Zhang, Yuying Hi, please take a look at this patch! Are there any comments?
>>
>> >-----Original Message-----
>> >From: He, ShiyangX <shiyangx...@intel.com>
>> >Sent: Wednesday, January 4, 2023 10:02 AM
>> >To: Stephen Hemminger <step...@networkplumber.org>
>> >Cc: dev@dpdk.org; Zhou, YidingX <yidingx.z...@intel.com>;
>> >sta...@dpdk.org; Singh, Aman Deep <aman.deep.si...@intel.com>;
>Zhang,
>> >Yuying <yuying.zh...@intel.com>; Burakov, Anatoly
>> ><anatoly.bura...@intel.com>; Li, Xiaoyun <xiaoyun...@intel.com>;
>> >Alvin Zhang <alvinx.zh...@intel.com>
>> >Subject: RE: [PATCH] app/testpmd: fix secondary process not
>> >forwarding
>> >
>> >>> Under multi-process scenario, the secondary process gets queue
>> >>> state from the wrong location (the global variable 'ports').
>> >>> Therefore, the secondary process can not forward since "stream_init" is
>not called.
>> >>>
>> >>> This commit fixes the issue by calling 'rte_eth_rx/tx_queue_info_get'
>> >>> to get queue state from shared memory.
>> >>>
>> >>> Fixes: a78040c990cb ("app/testpmd: update forward engine
>> >>> beginning")
>> >>> Cc: sta...@dpdk.org
>> >>>
>> >>> Signed-off-by: Shiyang He <shiyangx...@intel.com>
>> >>
>> >>Would it be possible to fix this the initialization of ports
>> >>variable, rather than doing a per-state fixup here?
>> >
>> >In multi-process scenario, the secondary process does not initialize
>> >the queue state in the 'ports' variable, and the ethdev's queue state
>> >may be changed by any other process, which causes 'ports' queue state
>> >of per-process and ethdev's queue state are inconsistent. Therefore,
>> >getting the queue state from ethdev is a feasible way which I can think of.
>
>You should fix the queue state in the 'ports' variable of secondary process in
>the initialization of ports variable instead of fixup here.

If the ethdev's queue state is changed by other processes, the queue state in 
the 'ports' variable is inconsistent with ethdev's queue state. Therefore, 
should obtain it from ethdev when accessing the queue state in the 'ports' 
variable.

Reply via email to