From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 51591A09D3; Thu, 12 Nov 2020 13:39:23 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 9052D5928; Thu, 12 Nov 2020 13:39:21 +0100 (CET) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id A5224493D for ; Thu, 12 Nov 2020 13:39:18 +0100 (CET) IronPort-SDR: koGJ9raYVQmfJwMh9qOC2rAnHOJtgEAYEYMjJrESsMxMsRsrVVQaBMWFysW3WkVQX9RqmWkh2W FEmKjdrx2WPw== X-IronPort-AV: E=McAfee;i="6000,8403,9802"; a="149573766" X-IronPort-AV: E=Sophos;i="5.77,472,1596524400"; d="scan'208";a="149573766" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Nov 2020 04:39:16 -0800 IronPort-SDR: 3iiUQK18Uc0VfSR1pnuUZUCwGcx02obnvMwWFZxOsXJ+QI0711fbgThPrHx3dfGK9pYeK1w+3a ye0EoUknBT7A== X-IronPort-AV: E=Sophos;i="5.77,472,1596524400"; d="scan'208";a="542245961" Received: from fyigit-mobl1.ger.corp.intel.com (HELO [10.213.194.206]) ([10.213.194.206]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Nov 2020 04:39:13 -0800 To: "Wangxiaoyun (Cloud)" , Qingqing Li , dev@dpdk.org, zhouguoyang@huawei.com Cc: Hushiyuan , yin.yinshi@huawei.com, xuanziyang2@huawei.com References: <836f40cb-57a9-7b02-adcc-dd302a93a722@huawei.com> <0a7d71fa-86f3-d8d0-3e77-1edfa6d5faf5@huawei.com> From: Ferruh Yigit Message-ID: Date: Thu, 12 Nov 2020 12:39:10 +0000 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Subject: Re: [dpdk-dev] [v4]net/hinic: fix coredump when the scondary process using the hinic port. X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 11/12/2020 12:30 PM, Wangxiaoyun (Cloud) wrote: < copied the response down, please don't top post > > 在 2020/11/12 17:26, Ferruh Yigit 写道: >> On 11/12/2020 2:11 AM, Wangxiaoyun (Cloud) wrote: >>> Hi Ferruh, >>> >>> Align with Qingqing Li, this path will not apply to dpdk master now, some >>> dev_ops may >>> casue fail when run in secondary proc, so need to modify it later and add >>> tests for other >>> dev_ops. >>> >> >> So will there be a new version in next release? >> >> Please feel free to put comments in the mail list, it helps recording the >> status and people looking for it later. >> > When we complete repair and testing, we will upstream the patch in next release, > maybe not keep up with 20.11. > OK, I am updating the patch status as deferred to follow it in next release. >> >>> Thanks >>> >>> 在 2020/10/31 18:10, Qingqing Li 写道: >>>> fix coredump when secondary process using the hinic port. the >>>> reason is that during the stage of secondary process port initialization, it >>>> lack the initialization of "eth_dev->dev_ops". >>>> >>>> Signed-off-by: Qingqing Li >>>> --- >>>> v4: adapt to the latest version. >>>> --- >>>> v3: update the signed-off information. >>>> --- >>>> v2:  solve the coding style issue. >>>> Signed-off-by: liqingqing >>>> --- >>>>   drivers/net/hinic/hinic_pmd_ethdev.c | 20 ++++++++++++-------- >>>>   1 file changed, 12 insertions(+), 8 deletions(-) >>>> >>>> diff --git a/drivers/net/hinic/hinic_pmd_ethdev.c >>>> b/drivers/net/hinic/hinic_pmd_ethdev.c >>>> index b694fd83c..526dafdad 100644 >>>> --- a/drivers/net/hinic/hinic_pmd_ethdev.c >>>> +++ b/drivers/net/hinic/hinic_pmd_ethdev.c >>>> @@ -3100,14 +3100,6 @@ static int hinic_func_init(struct rte_eth_dev *eth_dev) >>>> >>>>       pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev); >>>> >>>> -    /* EAL is SECONDARY and eth_dev is already created */ >>>> -    if (rte_eal_process_type() != RTE_PROC_PRIMARY) { >>>> -        PMD_DRV_LOG(INFO, "Initialize %s in secondary process", >>>> -                eth_dev->data->name); >>>> - >>>> -        return 0; >>>> -    } >>>> - >>>>       eth_dev->data->dev_flags |= RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS; >>>> >>>>       nic_dev = HINIC_ETH_DEV_TO_PRIVATE_NIC_DEV(eth_dev); >>>> @@ -3241,6 +3233,18 @@ static int hinic_dev_init(struct rte_eth_dev *eth_dev) >>>>       eth_dev->rx_pkt_burst = hinic_recv_pkts; >>>>       eth_dev->tx_pkt_burst = hinic_xmit_pkts; >>>> >>>> +    /* EAL is SECONDARY and eth_dev is already created */ >>>> +    if (rte_eal_process_type() != RTE_PROC_PRIMARY) { >>>> +        PMD_DRV_LOG(INFO, "Initialize %s in secondary process", >>>> eth_dev->data->name); >>>> + >>>> +        struct hinic_nic_dev *nic_dev = >>>> HINIC_ETH_DEV_TO_PRIVATE_NIC_DEV(eth_dev); >>>> +        if (HINIC_IS_VF(nic_dev->hwdev)) >>>> +            eth_dev->dev_ops = &hinic_pmd_vf_ops; >>>> +        else >>>> +            eth_dev->dev_ops = &hinic_pmd_ops; >>>> +        return 0; >>>> +    } >>>> + >>>>       return hinic_func_init(eth_dev); >>>>   } >>>> >> >> .