net/bnx2x: add support for secondary process

Message ID 20191221014146.29795-1-rmody@marvell.com (mailing list archive)
State Accepted, archived
Delegated to: Jerin Jacob
Headers
Series net/bnx2x: add support for secondary process |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-testing success Testing PASS
ci/Intel-compilation success Compilation OK

Commit Message

Rasesh Mody Dec. 21, 2019, 1:41 a.m. UTC
  Skip the device re-initialization for secondary process.

Cc: stable@dpdk.com

Signed-off-by: Rasesh Mody <rmody@marvell.com>
---
 drivers/net/bnx2x/bnx2x_ethdev.c | 5 +++++
 1 file changed, 5 insertions(+)
  

Comments

Jerin Jacob Jan. 14, 2020, 4:51 a.m. UTC | #1
On Sat, Dec 21, 2019 at 7:12 AM Rasesh Mody <rmody@marvell.com> wrote:
>
> Skip the device re-initialization for secondary process.
>
> Cc: stable@dpdk.com

Correct Cc: to stable@dpdk.org

Applied to dpdk-next-net-mrvl/master. Thanks


> Signed-off-by: Rasesh Mody <rmody@marvell.com>

> ---
>  drivers/net/bnx2x/bnx2x_ethdev.c | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/drivers/net/bnx2x/bnx2x_ethdev.c b/drivers/net/bnx2x/bnx2x_ethdev.c
> index 20b045ff87..7864b5b80a 100644
> --- a/drivers/net/bnx2x/bnx2x_ethdev.c
> +++ b/drivers/net/bnx2x/bnx2x_ethdev.c
> @@ -598,6 +598,11 @@ bnx2x_common_dev_init(struct rte_eth_dev *eth_dev, int is_vf)
>
>         eth_dev->dev_ops = is_vf ? &bnx2xvf_eth_dev_ops : &bnx2x_eth_dev_ops;
>
> +       if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
> +               PMD_DRV_LOG(ERR, sc, "Skipping device init from secondary process");
> +               return 0;
> +       }
> +
>         rte_eth_copy_pci_info(eth_dev, pci_dev);
>
>         sc->pcie_bus    = pci_dev->addr.bus;
> --
> 2.18.0
>
  
Kevin Traynor Jan. 14, 2020, 6:51 p.m. UTC | #2
On 14/01/2020 04:51, Jerin Jacob wrote:
> On Sat, Dec 21, 2019 at 7:12 AM Rasesh Mody <rmody@marvell.com> wrote:
>>
>> Skip the device re-initialization for secondary process.
>>
>> Cc: stable@dpdk.com
> 
> Correct Cc: to stable@dpdk.org
> 

Is it a fix, or secondary process was not intended to be supported
previously? If it is a fix, please provide the Fixed commit (will save
Ferruh searching for it).

> Applied to dpdk-next-net-mrvl/master. Thanks
> 
> 
>> Signed-off-by: Rasesh Mody <rmody@marvell.com>
> 
>> ---
>>  drivers/net/bnx2x/bnx2x_ethdev.c | 5 +++++
>>  1 file changed, 5 insertions(+)
>>
>> diff --git a/drivers/net/bnx2x/bnx2x_ethdev.c b/drivers/net/bnx2x/bnx2x_ethdev.c
>> index 20b045ff87..7864b5b80a 100644
>> --- a/drivers/net/bnx2x/bnx2x_ethdev.c
>> +++ b/drivers/net/bnx2x/bnx2x_ethdev.c
>> @@ -598,6 +598,11 @@ bnx2x_common_dev_init(struct rte_eth_dev *eth_dev, int is_vf)
>>
>>         eth_dev->dev_ops = is_vf ? &bnx2xvf_eth_dev_ops : &bnx2x_eth_dev_ops;
>>
>> +       if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
>> +               PMD_DRV_LOG(ERR, sc, "Skipping device init from secondary process");
>> +               return 0;
>> +       }
>> +
>>         rte_eth_copy_pci_info(eth_dev, pci_dev);
>>
>>         sc->pcie_bus    = pci_dev->addr.bus;
>> --
>> 2.18.0
>>
>
  
Rasesh Mody Jan. 14, 2020, 7:51 p.m. UTC | #3
Hi Kevin,

>From: Kevin Traynor <ktraynor@redhat.com>
>Sent: Tuesday, January 14, 2020 10:52 AM
>
>On 14/01/2020 04:51, Jerin Jacob wrote:
>> On Sat, Dec 21, 2019 at 7:12 AM Rasesh Mody <rmody@marvell.com>
>wrote:
>>>
>>> Skip the device re-initialization for secondary process.
>>>
>>> Cc: stable@dpdk.com
>>
>> Correct Cc: to stable@dpdk.org
>>
>
>Is it a fix, or secondary process was not intended to be supported previously?
>If it is a fix, please provide the Fixed commit (will save Ferruh searching for it).

Secondary process was not intended to be supported previously. So it is ok to not backport the change to all ongoing stable releases.
However, the change has been tested with DPDK 19.11, I am wondering if it can be pulled in that stable tree.
Please see below the fixline tag.

Fixes: 540a211084a7 ("bnx2x: driver core")

Thanks!
-Rasesh
>
>> Applied to dpdk-next-net-mrvl/master. Thanks
>>
>>
>>> Signed-off-by: Rasesh Mody <rmody@marvell.com>
>>
>>> ---
>>>  drivers/net/bnx2x/bnx2x_ethdev.c | 5 +++++
>>>  1 file changed, 5 insertions(+)
>>>
>>> diff --git a/drivers/net/bnx2x/bnx2x_ethdev.c
>>> b/drivers/net/bnx2x/bnx2x_ethdev.c
>>> index 20b045ff87..7864b5b80a 100644
>>> --- a/drivers/net/bnx2x/bnx2x_ethdev.c
>>> +++ b/drivers/net/bnx2x/bnx2x_ethdev.c
>>> @@ -598,6 +598,11 @@ bnx2x_common_dev_init(struct rte_eth_dev
>>> *eth_dev, int is_vf)
>>>
>>>         eth_dev->dev_ops = is_vf ? &bnx2xvf_eth_dev_ops :
>>> &bnx2x_eth_dev_ops;
>>>
>>> +       if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
>>> +               PMD_DRV_LOG(ERR, sc, "Skipping device init from secondary
>process");
>>> +               return 0;
>>> +       }
>>> +
>>>         rte_eth_copy_pci_info(eth_dev, pci_dev);
>>>
>>>         sc->pcie_bus    = pci_dev->addr.bus;
>>> --
>>> 2.18.0
>>>
>>
  
Kevin Traynor Jan. 15, 2020, 10:58 a.m. UTC | #4
On 14/01/2020 19:51, Rasesh Mody wrote:
> Hi Kevin,
> 
>> From: Kevin Traynor <ktraynor@redhat.com>
>> Sent: Tuesday, January 14, 2020 10:52 AM
>>
>> On 14/01/2020 04:51, Jerin Jacob wrote:
>>> On Sat, Dec 21, 2019 at 7:12 AM Rasesh Mody <rmody@marvell.com>
>> wrote:
>>>>
>>>> Skip the device re-initialization for secondary process.
>>>>
>>>> Cc: stable@dpdk.com
>>>
>>> Correct Cc: to stable@dpdk.org
>>>
>>
>> Is it a fix, or secondary process was not intended to be supported previously?
>> If it is a fix, please provide the Fixed commit (will save Ferruh searching for it).
> 
> Secondary process was not intended to be supported previously. So it is ok to not backport the change to all ongoing stable releases.

Thanks for confirming.

> However, the change has been tested with DPDK 19.11, I am wondering if it can be pulled in that stable tree.

Cc Luca

> Please see below the fixline tag.
> 
> Fixes: 540a211084a7 ("bnx2x: driver core")
> 

Fixes tag won't be needed now as you've confirmed the code was doing
what it was intending to do.

> Thanks!
> -Rasesh
>>
>>> Applied to dpdk-next-net-mrvl/master. Thanks
>>>
>>>
>>>> Signed-off-by: Rasesh Mody <rmody@marvell.com>
>>>
>>>> ---
>>>>  drivers/net/bnx2x/bnx2x_ethdev.c | 5 +++++
>>>>  1 file changed, 5 insertions(+)
>>>>
>>>> diff --git a/drivers/net/bnx2x/bnx2x_ethdev.c
>>>> b/drivers/net/bnx2x/bnx2x_ethdev.c
>>>> index 20b045ff87..7864b5b80a 100644
>>>> --- a/drivers/net/bnx2x/bnx2x_ethdev.c
>>>> +++ b/drivers/net/bnx2x/bnx2x_ethdev.c
>>>> @@ -598,6 +598,11 @@ bnx2x_common_dev_init(struct rte_eth_dev
>>>> *eth_dev, int is_vf)
>>>>
>>>>         eth_dev->dev_ops = is_vf ? &bnx2xvf_eth_dev_ops :
>>>> &bnx2x_eth_dev_ops;
>>>>
>>>> +       if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
>>>> +               PMD_DRV_LOG(ERR, sc, "Skipping device init from secondary
>> process");
>>>> +               return 0;
>>>> +       }
>>>> +
>>>>         rte_eth_copy_pci_info(eth_dev, pci_dev);
>>>>
>>>>         sc->pcie_bus    = pci_dev->addr.bus;
>>>> --
>>>> 2.18.0
>>>>
>>>
> 
>
  
Ferruh Yigit Jan. 15, 2020, 12:47 p.m. UTC | #5
On 1/15/2020 10:58 AM, Kevin Traynor wrote:
> On 14/01/2020 19:51, Rasesh Mody wrote:
>> Hi Kevin,
>>
>>> From: Kevin Traynor <ktraynor@redhat.com>
>>> Sent: Tuesday, January 14, 2020 10:52 AM
>>>
>>> On 14/01/2020 04:51, Jerin Jacob wrote:
>>>> On Sat, Dec 21, 2019 at 7:12 AM Rasesh Mody <rmody@marvell.com>
>>> wrote:
>>>>>
>>>>> Skip the device re-initialization for secondary process.
>>>>>
>>>>> Cc: stable@dpdk.com
>>>>
>>>> Correct Cc: to stable@dpdk.org
>>>>
>>>
>>> Is it a fix, or secondary process was not intended to be supported previously?
>>> If it is a fix, please provide the Fixed commit (will save Ferruh searching for it).
>>
>> Secondary process was not intended to be supported previously. So it is ok to not backport the change to all ongoing stable releases.
> 
> Thanks for confirming.
> 
>> However, the change has been tested with DPDK 19.11, I am wondering if it can be pulled in that stable tree.
> 
> Cc Luca
> 
>> Please see below the fixline tag.
>>
>> Fixes: 540a211084a7 ("bnx2x: driver core")
>>
> 
> Fixes tag won't be needed now as you've confirmed the code was doing
> what it was intending to do.

Since there is a request to backport this into 19.11, I was planning to add the
fixes tag (stable tag is already there) but will it confuse the 18.11 because
the commit in fixes line is older than 18.11?

> 
>> Thanks!
>> -Rasesh
>>>
>>>> Applied to dpdk-next-net-mrvl/master. Thanks
>>>>
>>>>
>>>>> Signed-off-by: Rasesh Mody <rmody@marvell.com>
>>>>
>>>>> ---
>>>>>  drivers/net/bnx2x/bnx2x_ethdev.c | 5 +++++
>>>>>  1 file changed, 5 insertions(+)
>>>>>
>>>>> diff --git a/drivers/net/bnx2x/bnx2x_ethdev.c
>>>>> b/drivers/net/bnx2x/bnx2x_ethdev.c
>>>>> index 20b045ff87..7864b5b80a 100644
>>>>> --- a/drivers/net/bnx2x/bnx2x_ethdev.c
>>>>> +++ b/drivers/net/bnx2x/bnx2x_ethdev.c
>>>>> @@ -598,6 +598,11 @@ bnx2x_common_dev_init(struct rte_eth_dev
>>>>> *eth_dev, int is_vf)
>>>>>
>>>>>         eth_dev->dev_ops = is_vf ? &bnx2xvf_eth_dev_ops :
>>>>> &bnx2x_eth_dev_ops;
>>>>>
>>>>> +       if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
>>>>> +               PMD_DRV_LOG(ERR, sc, "Skipping device init from secondary
>>> process");
>>>>> +               return 0;
>>>>> +       }
>>>>> +
>>>>>         rte_eth_copy_pci_info(eth_dev, pci_dev);
>>>>>
>>>>>         sc->pcie_bus    = pci_dev->addr.bus;
>>>>> --
>>>>> 2.18.0
>>>>>
>>>>
>>
>>
>
  
Kevin Traynor Jan. 15, 2020, 12:57 p.m. UTC | #6
On 15/01/2020 12:47, Ferruh Yigit wrote:
> On 1/15/2020 10:58 AM, Kevin Traynor wrote:
>> On 14/01/2020 19:51, Rasesh Mody wrote:
>>> Hi Kevin,
>>>
>>>> From: Kevin Traynor <ktraynor@redhat.com>
>>>> Sent: Tuesday, January 14, 2020 10:52 AM
>>>>
>>>> On 14/01/2020 04:51, Jerin Jacob wrote:
>>>>> On Sat, Dec 21, 2019 at 7:12 AM Rasesh Mody <rmody@marvell.com>
>>>> wrote:
>>>>>>
>>>>>> Skip the device re-initialization for secondary process.
>>>>>>
>>>>>> Cc: stable@dpdk.com
>>>>>
>>>>> Correct Cc: to stable@dpdk.org
>>>>>
>>>>
>>>> Is it a fix, or secondary process was not intended to be supported previously?
>>>> If it is a fix, please provide the Fixed commit (will save Ferruh searching for it).
>>>
>>> Secondary process was not intended to be supported previously. So it is ok to not backport the change to all ongoing stable releases.
>>
>> Thanks for confirming.
>>
>>> However, the change has been tested with DPDK 19.11, I am wondering if it can be pulled in that stable tree.
>>
>> Cc Luca
>>
>>> Please see below the fixline tag.
>>>
>>> Fixes: 540a211084a7 ("bnx2x: driver core")
>>>
>>
>> Fixes tag won't be needed now as you've confirmed the code was doing
>> what it was intending to do.
> 
> Since there is a request to backport this into 19.11, I was planning to add the
> fixes tag (stable tag is already there) but will it confuse the 18.11 because
> the commit in fixes line is older than 18.11?
> 

I think it should not have a Fixes tag. In this case there is nothing
being fixed, just a new feature being added/supported. It will be picked
up as a candidate for stable branches through the cc: stable, from there
it can be discussed.

>>
>>> Thanks!
>>> -Rasesh
>>>>
>>>>> Applied to dpdk-next-net-mrvl/master. Thanks
>>>>>
>>>>>
>>>>>> Signed-off-by: Rasesh Mody <rmody@marvell.com>
>>>>>
>>>>>> ---
>>>>>>  drivers/net/bnx2x/bnx2x_ethdev.c | 5 +++++
>>>>>>  1 file changed, 5 insertions(+)
>>>>>>
>>>>>> diff --git a/drivers/net/bnx2x/bnx2x_ethdev.c
>>>>>> b/drivers/net/bnx2x/bnx2x_ethdev.c
>>>>>> index 20b045ff87..7864b5b80a 100644
>>>>>> --- a/drivers/net/bnx2x/bnx2x_ethdev.c
>>>>>> +++ b/drivers/net/bnx2x/bnx2x_ethdev.c
>>>>>> @@ -598,6 +598,11 @@ bnx2x_common_dev_init(struct rte_eth_dev
>>>>>> *eth_dev, int is_vf)
>>>>>>
>>>>>>         eth_dev->dev_ops = is_vf ? &bnx2xvf_eth_dev_ops :
>>>>>> &bnx2x_eth_dev_ops;
>>>>>>
>>>>>> +       if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
>>>>>> +               PMD_DRV_LOG(ERR, sc, "Skipping device init from secondary
>>>> process");
>>>>>> +               return 0;
>>>>>> +       }
>>>>>> +
>>>>>>         rte_eth_copy_pci_info(eth_dev, pci_dev);
>>>>>>
>>>>>>         sc->pcie_bus    = pci_dev->addr.bus;
>>>>>> --
>>>>>> 2.18.0
>>>>>>
>>>>>
>>>
>>>
>>
>
  
Ferruh Yigit Jan. 15, 2020, 1:11 p.m. UTC | #7
On 1/15/2020 12:57 PM, Kevin Traynor wrote:
> On 15/01/2020 12:47, Ferruh Yigit wrote:
>> On 1/15/2020 10:58 AM, Kevin Traynor wrote:
>>> On 14/01/2020 19:51, Rasesh Mody wrote:
>>>> Hi Kevin,
>>>>
>>>>> From: Kevin Traynor <ktraynor@redhat.com>
>>>>> Sent: Tuesday, January 14, 2020 10:52 AM
>>>>>
>>>>> On 14/01/2020 04:51, Jerin Jacob wrote:
>>>>>> On Sat, Dec 21, 2019 at 7:12 AM Rasesh Mody <rmody@marvell.com>
>>>>> wrote:
>>>>>>>
>>>>>>> Skip the device re-initialization for secondary process.
>>>>>>>
>>>>>>> Cc: stable@dpdk.com
>>>>>>
>>>>>> Correct Cc: to stable@dpdk.org
>>>>>>
>>>>>
>>>>> Is it a fix, or secondary process was not intended to be supported previously?
>>>>> If it is a fix, please provide the Fixed commit (will save Ferruh searching for it).
>>>>
>>>> Secondary process was not intended to be supported previously. So it is ok to not backport the change to all ongoing stable releases.
>>>
>>> Thanks for confirming.
>>>
>>>> However, the change has been tested with DPDK 19.11, I am wondering if it can be pulled in that stable tree.
>>>
>>> Cc Luca
>>>
>>>> Please see below the fixline tag.
>>>>
>>>> Fixes: 540a211084a7 ("bnx2x: driver core")
>>>>
>>>
>>> Fixes tag won't be needed now as you've confirmed the code was doing
>>> what it was intending to do.
>>
>> Since there is a request to backport this into 19.11, I was planning to add the
>> fixes tag (stable tag is already there) but will it confuse the 18.11 because
>> the commit in fixes line is older than 18.11?
>>
> 
> I think it should not have a Fixes tag. In this case there is nothing
> being fixed, just a new feature being added/supported. It will be picked
> up as a candidate for stable branches through the cc: stable, from there
> it can be discussed.

OK, I am not changing anything.
But when fixes tag is missing I am not clear how you decide if the fix should go
into any specific LTS or not, it should be hard to figure it out without
reference point.

> 
>>>
>>>> Thanks!
>>>> -Rasesh
>>>>>
>>>>>> Applied to dpdk-next-net-mrvl/master. Thanks
>>>>>>
>>>>>>
>>>>>>> Signed-off-by: Rasesh Mody <rmody@marvell.com>
>>>>>>
>>>>>>> ---
>>>>>>>  drivers/net/bnx2x/bnx2x_ethdev.c | 5 +++++
>>>>>>>  1 file changed, 5 insertions(+)
>>>>>>>
>>>>>>> diff --git a/drivers/net/bnx2x/bnx2x_ethdev.c
>>>>>>> b/drivers/net/bnx2x/bnx2x_ethdev.c
>>>>>>> index 20b045ff87..7864b5b80a 100644
>>>>>>> --- a/drivers/net/bnx2x/bnx2x_ethdev.c
>>>>>>> +++ b/drivers/net/bnx2x/bnx2x_ethdev.c
>>>>>>> @@ -598,6 +598,11 @@ bnx2x_common_dev_init(struct rte_eth_dev
>>>>>>> *eth_dev, int is_vf)
>>>>>>>
>>>>>>>         eth_dev->dev_ops = is_vf ? &bnx2xvf_eth_dev_ops :
>>>>>>> &bnx2x_eth_dev_ops;
>>>>>>>
>>>>>>> +       if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
>>>>>>> +               PMD_DRV_LOG(ERR, sc, "Skipping device init from secondary
>>>>> process");
>>>>>>> +               return 0;
>>>>>>> +       }
>>>>>>> +
>>>>>>>         rte_eth_copy_pci_info(eth_dev, pci_dev);
>>>>>>>
>>>>>>>         sc->pcie_bus    = pci_dev->addr.bus;
>>>>>>> --
>>>>>>> 2.18.0
>>>>>>>
>>>>>>
>>>>
>>>>
>>>
>>
>
  
Kevin Traynor Jan. 15, 2020, 2:02 p.m. UTC | #8
On 15/01/2020 13:11, Ferruh Yigit wrote:
> On 1/15/2020 12:57 PM, Kevin Traynor wrote:
>> On 15/01/2020 12:47, Ferruh Yigit wrote:
>>> On 1/15/2020 10:58 AM, Kevin Traynor wrote:
>>>> On 14/01/2020 19:51, Rasesh Mody wrote:
>>>>> Hi Kevin,
>>>>>
>>>>>> From: Kevin Traynor <ktraynor@redhat.com>
>>>>>> Sent: Tuesday, January 14, 2020 10:52 AM
>>>>>>
>>>>>> On 14/01/2020 04:51, Jerin Jacob wrote:
>>>>>>> On Sat, Dec 21, 2019 at 7:12 AM Rasesh Mody <rmody@marvell.com>
>>>>>> wrote:
>>>>>>>>
>>>>>>>> Skip the device re-initialization for secondary process.
>>>>>>>>
>>>>>>>> Cc: stable@dpdk.com
>>>>>>>
>>>>>>> Correct Cc: to stable@dpdk.org
>>>>>>>
>>>>>>
>>>>>> Is it a fix, or secondary process was not intended to be supported previously?
>>>>>> If it is a fix, please provide the Fixed commit (will save Ferruh searching for it).
>>>>>
>>>>> Secondary process was not intended to be supported previously. So it is ok to not backport the change to all ongoing stable releases.
>>>>
>>>> Thanks for confirming.
>>>>
>>>>> However, the change has been tested with DPDK 19.11, I am wondering if it can be pulled in that stable tree.
>>>>
>>>> Cc Luca
>>>>
>>>>> Please see below the fixline tag.
>>>>>
>>>>> Fixes: 540a211084a7 ("bnx2x: driver core")
>>>>>
>>>>
>>>> Fixes tag won't be needed now as you've confirmed the code was doing
>>>> what it was intending to do.
>>>
>>> Since there is a request to backport this into 19.11, I was planning to add the
>>> fixes tag (stable tag is already there) but will it confuse the 18.11 because
>>> the commit in fixes line is older than 18.11?
>>>
>>
>> I think it should not have a Fixes tag. In this case there is nothing
>> being fixed, just a new feature being added/supported. It will be picked
>> up as a candidate for stable branches through the cc: stable, from there
>> it can be discussed.
> 
> OK, I am not changing anything.
> But when fixes tag is missing I am not clear how you decide if the fix should go
> into any specific LTS or not, it should be hard to figure it out without
> reference point.
> 

Yes, you are correct, for bugfixes it is important because otherwise
stable maintainer have to stop, try to figure it out and start email
convo with authors to discuss etc. Whereas with Fixes tags, non-relevant
ones for a branch can pruned out quickly and discussion is not needed.

In this case however, where it's not really a bugfix but more a request
to add/support something new, it probably needs discussion anyway and
not having the Fixes tag ensures that takes place and it doesn't
automatically slip in unnoticed.

>>
>>>>
>>>>> Thanks!
>>>>> -Rasesh
>>>>>>
>>>>>>> Applied to dpdk-next-net-mrvl/master. Thanks
>>>>>>>
>>>>>>>
>>>>>>>> Signed-off-by: Rasesh Mody <rmody@marvell.com>
>>>>>>>
>>>>>>>> ---
>>>>>>>>  drivers/net/bnx2x/bnx2x_ethdev.c | 5 +++++
>>>>>>>>  1 file changed, 5 insertions(+)
>>>>>>>>
>>>>>>>> diff --git a/drivers/net/bnx2x/bnx2x_ethdev.c
>>>>>>>> b/drivers/net/bnx2x/bnx2x_ethdev.c
>>>>>>>> index 20b045ff87..7864b5b80a 100644
>>>>>>>> --- a/drivers/net/bnx2x/bnx2x_ethdev.c
>>>>>>>> +++ b/drivers/net/bnx2x/bnx2x_ethdev.c
>>>>>>>> @@ -598,6 +598,11 @@ bnx2x_common_dev_init(struct rte_eth_dev
>>>>>>>> *eth_dev, int is_vf)
>>>>>>>>
>>>>>>>>         eth_dev->dev_ops = is_vf ? &bnx2xvf_eth_dev_ops :
>>>>>>>> &bnx2x_eth_dev_ops;
>>>>>>>>
>>>>>>>> +       if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
>>>>>>>> +               PMD_DRV_LOG(ERR, sc, "Skipping device init from secondary
>>>>>> process");
>>>>>>>> +               return 0;
>>>>>>>> +       }
>>>>>>>> +
>>>>>>>>         rte_eth_copy_pci_info(eth_dev, pci_dev);
>>>>>>>>
>>>>>>>>         sc->pcie_bus    = pci_dev->addr.bus;
>>>>>>>> --
>>>>>>>> 2.18.0
>>>>>>>>
>>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>
  

Patch

diff --git a/drivers/net/bnx2x/bnx2x_ethdev.c b/drivers/net/bnx2x/bnx2x_ethdev.c
index 20b045ff87..7864b5b80a 100644
--- a/drivers/net/bnx2x/bnx2x_ethdev.c
+++ b/drivers/net/bnx2x/bnx2x_ethdev.c
@@ -598,6 +598,11 @@  bnx2x_common_dev_init(struct rte_eth_dev *eth_dev, int is_vf)
 
 	eth_dev->dev_ops = is_vf ? &bnx2xvf_eth_dev_ops : &bnx2x_eth_dev_ops;
 
+	if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
+		PMD_DRV_LOG(ERR, sc, "Skipping device init from secondary process");
+		return 0;
+	}
+
 	rte_eth_copy_pci_info(eth_dev, pci_dev);
 
 	sc->pcie_bus    = pci_dev->addr.bus;