[prev in list] [next in list] [prev in thread] [next in thread] 

List:       dpdk-dev
Subject:    RE: [PATCH v4] net/igc: add support for secondary processes
From:       "Zhang, Qi Z" <qi.z.zhang () intel ! com>
Date:       2022-06-30 11:47:31
Message-ID: DM4PR11MB599484ACAD188A530C44BBCDD7BA9 () DM4PR11MB5994 ! namprd11 ! prod ! outlook ! com
[Download RAW message or body]



> -----Original Message-----
> From: Zeng, ZhichaoX <zhichaox.zeng@intel.com>
> Sent: Thursday, June 30, 2022 7:04 PM
> To: dev@dpdk.org
> Cc: stable@dpdk.org; Yang, Qiming <qiming.yang@intel.com>; Zhang, Qi Z
> <qi.z.zhang@intel.com>; Zeng, ZhichaoX <zhichaox.zeng@intel.com>;
> alvinx.zhang@intel.com; Guo, Junfeng <junfeng.guo@intel.com>; Su, Simei
> <simei.su@intel.com>; Burakov, Anatoly <anatoly.burakov@intel.com>; Ferruh
> Yigit <ferruh.yigit@intel.com>
> Subject: [PATCH v4] net/igc: add support for secondary processes
> 
> From: Zhichao Zeng <zhichaox.zeng@intel.com>
> 
> The RX function was not specified in the secondary process, causing the
> secondary process to segfault in a multi-process environment.
> 
> This patch specify RX/TX functions in "dev_init" to support secondary processes.
> 
> Fixes: 66fde1b943eb ("net/igc: add skeleton")
> Cc: alvinx.zhang@intel.com
> Cc: stable@dpdk.org
> 
> Signed-off-by: Zhichao Zeng <zhichaox.zeng@intel.com>
> 
> ---
> v2:
> remove unnecessary parameters, move declaration to relevant header file
> ---
> v3:
> remove redundant code, optimize commit log
> ---
> v4:
> rework patch
> ---
>  drivers/net/igc/igc_ethdev.c | 9 ++++++++-
>  drivers/net/igc/igc_txrx.c   | 8 ++++----
>  drivers/net/igc/igc_txrx.h   | 6 ++++++
>  3 files changed, 18 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/net/igc/igc_ethdev.c b/drivers/net/igc/igc_ethdev.c index
> b9933b395d..7f221a5d34 100644
> --- a/drivers/net/igc/igc_ethdev.c
> +++ b/drivers/net/igc/igc_ethdev.c
> @@ -1240,8 +1240,15 @@ eth_igc_dev_init(struct rte_eth_dev *dev)
>  	 * has already done this work. Only check we don't need a different
>  	 * RX function.
>  	 */
> -	if (rte_eal_process_type() != RTE_PROC_PRIMARY)
> +	if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
> +		dev->rx_pkt_burst = igc_recv_pkts;
> +		if (dev->data->scattered_rx)
> +			dev->rx_pkt_burst = igc_recv_scattered_pkts;

Please removed the redundant code in igc_rx_init

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic